SQL优化-同SQL不同执行计划(三)-完

本文探讨了SQL查询的优化问题,特别是关注不同执行计划对性能的影响。作者提到,尽管目前只能提供初步的观察,但未来将深入研究并提出更具体的优化策略,以减少数据库操作的IO成本。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

【疑惑三、疑惑四解答】
通过上两个问题探索,已经基本确定是 IO 所致。
Myepoch 提出问题,【 SQL1 全表扫描】和【 SQL2 】执行计划【总成本】完全相同,但是为什么执行时间差别那么大呢?
其实,既然是【总成本】,那么他就包涵了很多,大家多数时候误认为【总成本】就是【执行时间成本】,这是个错误的理解,【总成本】包括【 CPU 成本】、【时间成本】和【 IO 成本】等,
在多数情况下,【总成本】和【执行时间变化率】基本趋势相同,但是成本不等价于时间,成本相同,不代表执行时间相同。
我们要这次优化的目的是最小时间,不是最小成本。
Myepoch 提示,因为是老系统改造,表结构已经不能进行变更了,【 adminaccount = ' lgm ' 】的用户确实 lob 文件内数量比较大,对于表结构也只能无奈接受。
其实到这里问题基本被确定了,是因为非常规的表设计所致,为了解决这个问题,我们同时创建两个索引,消解 lob 数据块对查询的影响。
语句如下:
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值