Postgresql explain 使用手册
postgresql为每一个查询产生一个查询计划,选择正确的查询结构(通过系统统计采样)和数据属性(字段类型)对于提升性能非常关键。
系统准备了一个非常复杂的规划器 来选择开销最小的计划。
可以使用EXPLAIN来查看规划器为每个查询生成的查询计划是什么。
本例中,是使用默认的TEXT
输出,其他输出,比如XML,JSON,YAML,更有利于机器读取和分析。
本例以一张记录攻击IP地址表tb_ip_attack
为例,上面记载了各类猜测密码的ip地址,当然这些表内容并不关键。
下面的例子展示了json格式的返回内容
weather=# explain(format json) select * from tb_ip_attack limit 10;
QUERY PLAN
--------------------------------------------
[ +
{ +
"Plan": { +
"Node Type": "Limit", +
"Parallel Aware": false, +
"Startup Cost": 0.00, +
"Total Cost": 0.40, +
"Plan Rows": 10, +
"Plan Width": 201, +
"Plans": [ +
{ +
"Node Type": "Seq Scan", +
"Parent Re