创建索引选项说明(Oracle)

Create Index options explanation (Oracle)

我有一个 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'?

您需要创建的基本索引是 在“table01”上创建索引 "index01"("name","age");

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

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

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