ORACLE索引

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

你可能感兴趣的:(数据库)