- 如果索引建立在多个列上,只有它的第一个列被where子句引用时,优化器才会使用该索引,即至少要包含组合索引的第一列。
- 如果有两个或者以上的索引,其中有一个唯一性索引,而其他是非唯一,这种情况下oracle将使用唯一性索引而完全忽略非唯一性索引。
- 小表不要建立索引。
- 对于基数(列不重复值的个数)大的列适合建立B树索引,对于基数小的列适合简历位图索引。
- 列中有很多空值,但经常查询该列上非空记录时应该建立索引。
- 经常进行连接查询的列应该创建索引。
- 使用create index时要将最常查询的列放在最前面。
- LONG(可变长字符串数据,最长2G)和LONG RAW(可变长二进制数据,最长2G)列不能创建索引。
- 限制表中索引的数量(创建索引耗费时间,并且随数据量的增大而增大;索引会占用物理空间;当对表中的数据进行增加、删除和修改的时候,索引也要动态的维护,降低了数据的维护速度)
- oracle碰到not会停止使用索引,而采用全表扫描
- 索引上使用空值比较将停止使用索引
ORACLE索引
最新推荐文章于 2024-09-18 17:56:19 发布