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

Oracle SQL优化必要的全表扫描思路分析

时间:2018-09-13 10:57:18      阅读:146      评论:0      收藏:0      [点我收藏+]

标签:读取   计时   索引   提高   效率   修改   建表   oracl   扫描   

大多数情况下,我们需要避免SQL在查询时进行全表扫描(FTS),但是对于必须需要进行全表扫描的情况,也可以进行一些优化处理。

即使全表扫描是检索所需数据的唯一可行方法,仍然有多种方法来提升查询性能。优化扫描的技术包括:

1、  通过让表变小来减少扫描所需的逻辑块读取的数量

2、  通过提高数据库IO的效率降低扫描所需要的物理块读取的数量

3、  通过缓存或抽样降低扫描开销

4、  通过使用并行查询选项为扫描分配更多的资源

5、  执行快速全索引扫描来替代全表扫描

6、  对表进行分区,只读取所选择的分区中的数据

 

特别地,需要完成全表扫描的工作量主要取决于需要扫描的数据块的数量。有很多方法可以减少这个数量。可能需要在进行表设计时,进行合理的估算,然后进行优化设计方面的考虑:

1、  通过重建表来降低HWM。

2、  通过修改PCTFREE或者PCTUSED参数向每个块中塞入更多的记录。

3、  减少记录长度,可能是通过将大的且并不经常访问的列迁移到独立的表中

4、  压缩表中的数据。

Oracle SQL优化必要的全表扫描思路分析

标签:读取   计时   索引   提高   效率   修改   建表   oracl   扫描   

原文地址:https://www.cnblogs.com/tzhyy/p/9639058.html

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