您的位置:首页 > 数据库 > Oracle

oracle 性能优化操作十八: 决定使用全表扫描还是使用索引

2015-01-12 09:10 801 查看
和所有的秘笈一样,最后一招都会又回到起点,最后我们来讨论一下是否需要建立索引,也许进行全表扫描更快。

在大多数情况下,全表扫描可能会导致更多的物理磁盘输入输出,但是全表扫描有时又可能会因为高度并行化的存在而执行的更快。

如果查询的表完全没有顺序,那么一个要返回记录数小于10%的查询可能会读取表中大部分的数据块,这样使用索引会使查询效率提高很多。

但是如果表非常有顺序,那么如果查询的记录数大于40%时,可能使用全表扫描更快。

因此,有一个索引范围扫描的总体原则是:

1)对于原始排序的表  仅读取少于表记录数40%的查询应该使用索引范围扫描。

   反之,读取记录数目多于表记录数的40%的查询应该使用全表扫描。

2)对于未排序的表    仅读取少于表记录数7%的查询应该使用索引范围扫描。

  

   反之,读取记录数目多于表记录数的7%的查询应该使用全表扫描。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: