【问题标题】:Defining tablespace for local index in Oracle在 Oracle 中为本地索引定义表空间
【发布时间】:2013-05-10 16:44:30
【问题描述】:

当我们生成脚本来为分区表创建索引时,我们目前有这样的事情:

CREATE INDEX "SCHEMA"."INDEX_NAME" ON "SCHEMA"."TABLE_NAME" (
  "COLUMN_NAME"
)
LOCAL
(
  PARTITION "P1" TABLESPACE "INDEX_TABLESPACE_NAME",
  PARTITION "P2" TABLESPACE "INDEX_TABLESPACE_NAME",
  PARTITION "PMAX" TABLESPACE "INDEX_TABLESPACE_NAME"
);

我们正在考虑将其更改为:

CREATE INDEX "SCHEMA"."INDEX_NAME" ON "SCHEMA"."TABLE_NAME" (
  "COLUMN_NAME"
)
LOCAL;

在这种情况下,我将如何定义应该放置索引的表空间?一个表的所有分区都将放在同一个表空间中,并且该表的所有索引都应该放在一个(不同的)表空间中。

【问题讨论】:

    标签: oracle indexing


    【解决方案1】:

    我记得你只是为索引定义了一个默认表空间:

    CREATE INDEX
      "SCHEMA"."INDEX_NAME"
    ON
      "SCHEMA"."TABLE_NAME" (
        "COLUMN_NAME")
    TABLESPACE
      MY_INDEX_TABLESPACE
    LOCAL;
    

    您知道将表和索引段存储在不同的表空间中没有性能优势,对吧?

    【讨论】:

    • 谢谢,我会试试的。是的,我们只是在寻求易于管理。
    • 然后在架构级别设置默认表空间,您将永远不必再次为特定对象设置表空间。
    • @haki William 在这里为表和索引段指定了不同的表空间。
    • 没有注意到 - 那么它显然是无关紧要的。
    猜你喜欢
    • 2020-09-04
    • 1970-01-01
    • 2016-07-18
    • 1970-01-01
    • 1970-01-01
    • 2019-04-26
    • 1970-01-01
    • 1970-01-01
    • 2012-03-23
    相关资源
    最近更新 更多