在工作中,如果遇到某个SQL执行时间比较长,很多时候会考虑到SQL的执行计划怎样?通过分析SQL的执行计划去分析SQL瓶颈在哪里。
那么运用默认的Postgresql方式是可以去分析执行计划的。如下例:
explain analyze select * from public.sort_test where id = 10001;
复制
其结果是:
而我这里会给大家分享一个免费的,很好的可视化工具去分析,特别是针对比较复杂的SQL执行计划,会更适用。步骤如下:
得到SQL 执行计划的Json 输出格式文本,可以通过如下解决:
EXPLAIN (ANALYZE, COSTS, VERBOSE, BUFFERS, FORMAT JSON)
select * from public.sort_test where id = 10001;
复制得到的Json格式的执行计划如下:
[
{
"Plan": {
"Node Type": "Index Scan",
"Parallel Aware": false,
"Scan Direction": "Forward",
"Index Name": "sort_test_pkey",
"Relation Name": "sort_test",
"Schema": "public",
"Alias": "sort_test",
"Startup Cost": 0.43,
"Total Cost": 8.45,
"Plan Rows": 1,
"Plan Width": 14,
"Actual Startup Time": 0.015,
"Actual Total Time": 0.016,
"Actual Rows": 1,
"Actual Loops": 1,
"Output": [
"id",
"salary"
],
"Index Cond": "(sort_test.id = 10001)",
"Rows Removed by Index Recheck": 0,
"Shared Hit Blocks": 4,
"Shared Read Blocks": 0,
"Shared Dirtied Blocks": 0,
"Shared Written Blocks": 0,
"Local Hit Blocks": 0,
"Local Read Blocks": 0,
"Local Dirtied Blocks": 0,
"Local Written Blocks": 0,
"Temp Read Blocks": 0,
"Temp Written Blocks": 0
},
"Planning Time": 0.127,
"Triggers": [],
"Execution Time": 0.037
}]
复制打开可视化工具网站:http://www.tatiyants.com/pev/ 在页面上点击按钮“NEW PLAN" 在界面上按顺序填入如下图所示的元素,然后点击“SUBMIT"按钮。
6. 之后,上例中的可视化执行计划如下图:
文章转载自TimTest,如果涉嫌侵权,请发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。
评论
相关阅读
【专家观点】罗敏:从理论到真实SQL,感受DeepSeek如何做性能优化
墨天轮编辑部
1236次阅读
2025-03-06 16:45:38
【专家有话说第五期】在不同年龄段,DBA应该怎样规划自己的职业发展?
墨天轮编辑部
1216次阅读
2025-03-13 11:40:53
2025年2月国产数据库大事记
墨天轮编辑部
954次阅读
2025-03-05 12:27:34
2025年2月国产数据库中标情况一览:GoldenDB 3500+万!达梦近千万!
通讯员
845次阅读
2025-03-06 11:40:20
2月“墨力原创作者计划”获奖名单公布
墨天轮编辑部
435次阅读
2025-03-13 14:38:19
AI的优化能力,取决于你问问题的能力!
潇湘秦
407次阅读
2025-03-11 11:18:22
优炫数据库成功应用于国家电投集团青海海南州新能源电厂!
优炫软件
335次阅读
2025-03-21 10:34:08
达梦数据与法本信息签署战略合作协议
达梦数据
280次阅读
2025-03-06 09:26:57
国产化+性能王炸!这套国产方案让 3.5T 数据 5 小时“无感搬家”
YMatrix
266次阅读
2025-03-13 09:51:26
IBM收购数据库厂商DataStax:瞄准向量和AI搜索
深度数据云
256次阅读
2025-02-28 12:04:04