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

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

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

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

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

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

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

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

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

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

 

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

1、  通过重建表来降低HWM (高水位)。

2、  通过修改PCTFREE或者PCTUSED参数向每个块中塞入更多的记录  (请了解pctfree 和pctused 的相关知识)。

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

4、  压缩表中的数据。

转载于:https://www.cnblogs.com/tzhyy/p/9639058.html

你可能感兴趣的文章
linux开源万岁
查看>>
linux/CentOS6忘记root密码解决办法
查看>>
25个常用的Linux iptables规则
查看>>
集中管理系统--puppet
查看>>
分布式事务最终一致性常用方案
查看>>
Exchange 2013 PowerShell配置文件
查看>>
JavaAPI详解系列(1):String类(1)
查看>>
HTML条件注释判断IE<!--[if IE]><!--[if lt IE 9]>
查看>>
发布和逸出-构造过程中使this引用逸出
查看>>
使用SanLock建立简单的HA服务
查看>>
Subversion使用Redmine帐户验证简单应用、高级应用以及优化
查看>>
Javascript Ajax 异步请求
查看>>
DBCP连接池
查看>>
cannot run programing "db2"
查看>>
mysql做主从relay-log问题
查看>>
Docker镜像与容器命令
查看>>
批量删除oracle中以相同类型字母开头的表
查看>>
Java基础学习总结(4)——对象转型
查看>>
BZOJ3239Discrete Logging——BSGS
查看>>
SpringMVC权限管理
查看>>