码迷,mamicode.com
首页 > 数据库 > 详细

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

时间:2015-01-12 09:17:40      阅读:178      评论:0      收藏:0      [点我收藏+]

标签:

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

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

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

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

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

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

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

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

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

标签:

原文地址:http://blog.csdn.net/helloboat/article/details/42638153

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!