索引设计原则
- 导入数据后再创建索引
- 立在适当的表和字段上创建索引
- 经香查询的记录数目少于表中所有记录总数的
5%时就应当创建索引; - 经常进行连接查询表时,在连接列上建立索引
能够显著提高查询的速度; - 对于取值范围很大的列应当创建B树索引
- 于取值范围很小的列应当创建位图索引
- 不能在LONG, LONG RAW,LOB数据类型的列上创建索引;
- Oracle会自动在 PRIMARY KEY和 UNIQUE约束的列上创建唯一性索引。
- 还合理设置复合索引中的字段顺序 合理设计表中索引的数目
a. 表中索引数目越多,查询速度越快,但表的更新速度
越慢。因为索引越多,维护索引所需开销越大,当更
新表时,需要同时更新与表相关的所有索引。 - 为索引存储设置合适的 PCTFREE参数
- 选择存储索引的表空间
a. 默认情况下,索引与表存储在同一表空间中。索引与表存储在同一表空间中,有利于数据库维护操作,具有较高的可用性
b. 若索引与表存储在不同的表空间中,则可提高系统的存取性能,减少硬盘I/O冲突,但是表与索引可用状态
可能出现不一致,如分别处于联机状态和脱机状态。
索引的组织形式: