postgresql通过explain命令查看查询性能
explain(ANALYZE,VERBOSE,BUFFERS) select c.* from tb_classification c left join tb_operate_log o on c.id=o.object_id where 1=1 and c.parent_code = 'root000000' and o.operate_type >= 0 and o.id in (select max(so.id) from tb_operate_log so group by so.object_code) and o.object_type = 0 and o.version_id = '7edd57e0ebd843e38909aff16981e80d' order by o.id desc;
explain命令的输出可以看做是一个树形结构-查询计划树,树的每个节点包含对应的节点类型,作用对象以及其他属性如cost,rows,width等。
实际的查询是从下往上执行的,基于火山模型(每个节点返回一行记录给父节点)
- Planning time: 0.066 ms 表明了生成查询计划的时间
- Execution time: 0.160 ms 表明了实际的SQL 执行时间,其中不包括查询计划的生成时间
把条件带入子查询中,
explain(ANALYZE,VERBOSE,BUFFERS) select c.* from tb_classification c left join tb_operate_log o on c.id=o.object_id where 1=1 and c.parent_code = 'root000000' and o.operate_type >= 0 and o.id in (select max(so.id) from tb_operate_log so where so.object_type = 0 and so.version_id = '7edd57e0ebd843e38909aff16981e80d' group by so.object_code) order by o.id desc;
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 分享4款.NET开源、免费、实用的商城系统
· 全程不用写代码,我用AI程序员写了一个飞机大战
· MongoDB 8.0这个新功能碉堡了,比商业数据库还牛
· 白话解读 Dapr 1.15:你的「微服务管家」又秀新绝活了
· 上周热点回顾(2.24-3.2)