数据库explain执行计划解读

本文介绍了如何通过在SQL语句前添加EXPLAIN来查看执行计划,以理解SQL的执行过程、开销和索引使用情况。内容涵盖了id列、operation列、E-rows、E-memory、E-width和E-costs等关键参数的解读,帮助读者掌握如何分析全表扫描(SeqScan)、索引扫描(IndexScan)和位图索引扫描(BitmapIndexScan)的执行效率。
摘要由CSDN通过智能技术生成

在要执行的sql前面加explain可以显示其sql的执行计划,由此可得知该sql执行了那些操作、执行操作的开销、是否使用索引等,下面将介绍执行计划的参数解读。

先在sql前面加explain,执行就会出现以下内容:

列说明:

id列:执行算子的编号(id相同,从上执行到下;id不同,id大的先执行,如上面图的id都不同,所以执行顺序为6、5、4、3、2、1)

operation列:执行算子的名称

E-rows列:算子估计的输出行数

E-memory列:算子估算的内存使用量

E-width列:算子输出元组(表的一行数据就是一个元组)估计的宽度

E-costs列:算子执行的估计代价(包括它所有子节点的开销)

是否用索引说明:

Seq Scan:没有走索引,全表顺序扫描。如上图条件只有currency_type,没有走索引,所以是全表扫描

Index Scan:查询走索引,正常走索引如下所示:

Bitmap Index Scan代表使用的是位图索引

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值