索引需要平衡query和DML的需要,常用于(子)查询的表应建立索引;
把索引建到不同的表空间中;
用统一的extent大小:
五个block的倍数或者tablespace指定的MINIMUM EXTENT的倍数;
创建索引考虑用NOLOGGING参数,重建索引的时候也一样;
创建索引时INITRANS值应该比相应的table的值高一些;
对常用SQL语句的where条件中的列建立唯一索引或组合索引,组合条件查询中相应的组合索引更有效;
对于组合索引,根据列的唯一值概率,安排索引顺序;
如果一个列具有很低的数据基数,并且或者可具有空值,不应作为索引列;
如果where语句中不得不对查询列采用函数查询,如upper函数,最好建立相应函数索引;
对于低基数集的列,并包含OR等逻辑运算,考虑用Bitmap索引,对于从大量行的表中返回大量的行时也可以考虑Bitmap索引;
避免在有大量并发DML运算的表中使用Bitmap索引;
把索引建到不同的表空间中;
用统一的extent大小:
五个block的倍数或者tablespace指定的MINIMUM EXTENT的倍数;
创建索引考虑用NOLOGGING参数,重建索引的时候也一样;
创建索引时INITRANS值应该比相应的table的值高一些;
对常用SQL语句的where条件中的列建立唯一索引或组合索引,组合条件查询中相应的组合索引更有效;
对于组合索引,根据列的唯一值概率,安排索引顺序;
如果一个列具有很低的数据基数,并且或者可具有空值,不应作为索引列;
如果where语句中不得不对查询列采用函数查询,如upper函数,最好建立相应函数索引;
对于低基数集的列,并包含OR等逻辑运算,考虑用Bitmap索引,对于从大量行的表中返回大量的行时也可以考虑Bitmap索引;
避免在有大量并发DML运算的表中使用Bitmap索引;