创建索引选项说明(Oracle)

时间:2015-12-08 07:41:45

标签: oracle indexing ddl

我有一个sql在oracle DB中创建复合索引。但我用一些话语无法理解。

create index "index01" on “table01”("name","age")
PCTFREE 20 INITRANS 2 MAXTRANS 255 COMPUTE STATISTICS
STORAGE(INITIAL xxxx NEXT xxxx MINEXTENTS xx MAXEXTENTS xxxx
PCTINCREASE x FREELISTS xx FREELIST GROUPS xx
BUFFER_POOL DEFAULT FLASH_CACHE DEFAULT CELL_FLASH_CACHE DEFAULT)
TABLESPACE "Table-space" ;

我不清楚'COMPUTE STATISTICS'并且必须使用'COMPUTE STATISTICS','storage','tablespace'?

2 个答案:

答案 0 :(得分:0)

你需要创建一个基本索引     在“table01”(“name”,“age”);

上创建索引“index01”

其余的是可选的。包括最后一行可能是明智之举,因此您可以将索引放在另一个表空间中。

答案 1 :(得分:0)

  • (PCTFREE 20 INITRANS 2 MAXTRANS 255) - 描述如何填充DB块
  • (COMPUTE STATISTICS) - 告诉Oracle收集已创建索引的性能统计信息
  • (STORAGE(INITIAL xxxx NEXT xxxx MINEXTENTS xx MAXEXTENTS xxxx PCTINCREASE) - 介绍如何在数据文件中为磁盘空间分配索引
  • (BUFFER_POOL DEFAULT FLASH_CACHE DEFAULT) - 描述如何将索引块存储到内存(缓冲区缓存)。
  • TABLESPACE "Table-space" - 在该表空间中创建索引

通常要创建索引,只需要create index "index01" on "table01"("name","age"),其余的都有一个默认值(只有在你想覆盖默认值时才指定其余参数)