博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Oracle SQL优化必要的全表扫描思路分析
阅读量:4039 次
发布时间:2019-05-24

本文共 437 字,大约阅读时间需要 1 分钟。

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

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

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

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

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

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

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

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

 

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

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

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

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

4、  压缩表中的数据。

转载地址:http://fovdi.baihongyu.com/

你可能感兴趣的文章
Vue组件
查看>>
python_time模块
查看>>
python_configparser(解析ini)
查看>>
selenium学习资料
查看>>
<转>文档视图指针互获
查看>>
从mysql中 导出/导入表及数据
查看>>
HQL语句大全(转)
查看>>
几个常用的Javascript字符串处理函数 spilt(),join(),substring()和indexof()
查看>>
javascript传参字符串 与引号的嵌套调用
查看>>
swiper插件的的使用
查看>>
layui插件的使用
查看>>
JS牛客网编译环境的使用
查看>>
9、VUE面经
查看>>
关于进制转换的具体实现代码
查看>>
Golang 数据可视化利器 go-echarts ,实际使用
查看>>
mysql 跨机器查询,使用dblink
查看>>
mysql5.6.34 升级到mysql5.7.32
查看>>
dba 常用查询
查看>>
Oracle 异机恢复
查看>>
Oracle 12C DG 搭建(RAC-RAC/RAC-单机)
查看>>