当我们使用CREATE INDEX来创建索引时,Oracle提供了很多参数来改善创建索引的速度、索引所占用的空间和索引树的层次。
1、速度因素
PARALLEL选项:当创建索引时,Oracle首先会进行全表扫描来收集符号键和ROWID对,而PARALLEL选项允许多处理器并行扫描表,这样就会加速索引的创建过程。一般推荐的PARALLEL值为CPU数减1。
NOLOGGING选项:NOLOGGING选项因为不写日志,所以大大提高了性能,比不使用NOLOGGING选项大约会节省70%的时间。使用NOLOGGING创建索引的唯一风险就是如果数据库需要做前滚恢复,你将不得不重建索引。
2、空间和结构因素
COMPRESS选项:COMPRESS选项用于在创建非唯一性索引时压缩重复值。对于连接索引(即索引包含多列)来说,COMPRESS选项会使索引的大小减少一半以上。COMPRESS选项也可以设置连接索引的前置长度。
使用大BLOCKSIZE的表空间:将索引建立在大BLOCKSIZE的表空间上,将大大降低索引树的层次。