创建索引选项说明(Oracle)



我有一个sql来在oracle数据库中创建复合索引。但是有些话我听不懂。

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"吗?

  • (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"),其余部分有一个默认值(只有当您想覆盖默认值时,才指定其余参数)

Al您需要创建一个基本索引在"table01"("name"、"age")上创建索引"index01";

其余的是可选的。包含最后一行可能是明智的做法,这样您就可以将索引放在另一个表空间中。

最新更新