<海量数据库解决方案>2011050301

【摘抄】

提高局部范围扫描执行速度的原理

书中提及一个概念:无条件查询,按字面理解就行了。
如:Select * from TB

后面不带任何查询语句之类的。

在书中所说,Select * from tb order by item;

前者可能执行局部范围扫描,后者执行属于全部范围扫描

以上,针对的是Oracle来说的,前者会受到Array Size的影响

在mssql2000上实践类似语句:
前者采用聚簇索引扫描
后者采用普通索引扫描或全表扫描

当然,前者效率高些。

书中结论:
执行速度变慢的真正原因不仅是因为排序,为了排序操作而对整体数据范围进行扫描也是其中之一。

书中一个例子使用不同的索引来说明一个问题,结论如下:

满足驱动查询条件的数据范围越小,所执行的操作量就越少;而满足过滤查询条件的数据范围越大,所执行的操作量越少。


无论生活、还是技术,一切都不断的学习和更新~~~努力~
原文地址:https://www.cnblogs.com/GoGoagg/p/2034955.html