postgreSQL执行计划

" class="wiz-editor-body wiz-readonly" contenteditable="false">

explain命令语法:

EXPLAIN [ ( 选项 [, ...] ) ] 语句

EXPLAIN [ ANALYZE ] [ VERBOSE ] 语句

选项可以是下列内容之一:

    ANALYZE [ 布尔 ]

    VERBOSE [ 布尔 ]

    COSTS [ 布尔 ]

    BUFFERS [ 布尔 ]

    TIMING [ 布尔 ]

    FORMAT { TEXT | XML | JSON | YAML }

ANALYZE选项通过实际执行的SQL获取相应的执行计划,可以看到执行计划每一步实际花费的时间及实际返回的行数。

使用analyze选项分析DMLDDL语句时,因为会真正执行实际的SQL,会修数据库结构。为了不影响实际的数据,可以把EXPLAIN ANALYZE放到事务中,执行完成后再回滚,语法如下:

begin;

explain analyze …;

rollback;

verbose用于显示执行计划的附加信息。附加信息包括:sql输出的列、触发器名称等信息。该选项默认关闭。

costs选项显示启动成本和总成本,估计行数和每行宽度。该选项默认开启。

buffers选项显示缓冲区的使用信息。该参数只能与analyze参数一起使用。该选项默认关闭。

format选项指定输出格式,输出格式:TEXTXMLJSONYAML。默认格式TEXT

原文地址:https://www.cnblogs.com/baisha/p/8598398.html