数据库开发小知识普及十--如何读懂SQL执行计划

本文深入浅出地介绍了如何理解SQL执行计划,特别是单独型执行计划的执行顺序。通过一个示例,解释了如何从索引定位到数据过滤,再到最终结果的生成过程,帮助读者掌握如何像数据库一样思考问题。文章强调了执行顺序的重要性,并指出执行计划中的id偏移是识别执行路径的关键特征。

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

数据库开发小知识普及十--如何读懂SQL执行计划

1.解释经典执行计划方法

关于执行计划,最重要的一点是要读懂执行的顺序,只有这样,才可以像Oracle一样思考问题。这里我们先定义两种类型:1.单独型;2.联合型。首先我们来看看单独型。

(1)单独型

请看下面SQL执行计划id=3处,通过索引定位policyno=‘6420110130120180000149’,然后观察id=2处,通过rowid回到表中得到serialno等其他列,然后根据SERIALNO<10的条件再过滤部分数据。最后完成了ENDORSESEQNO动作,请看id=1处。

SELECT ENDORSESEQNO,COUNT(*) FROM TEST01 WHERE POLICYNO='6420110130120180000149' AND SERIALNO<10 GROUP BY ENDORSESEQNO;

 

我们把这种执行计划称之为单独型,有一种父子的关系,执行顺序为id=3,id=2,id=1,由远到近地执行。注意看,执行计划中id=3,id=2,id=1有一定的偏移哦!这就是单独型的特征。

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值