繁体   English   中英

Postgres中详细的操作时间

[英]detailed timing of operation in postgres

假设我在插入某些表上有一些触发器。 我怎么知道插入实际需要什么时间以及执行触发器需要什么时间?

如果对触发触发器的语句使用explain (analyze, verbose) ,您将在表上看到每个触发器的执行时间。

因此,如果您有一个带触发器的表foo ,并运行如下代码:

explain (analyze, verbose)
insert into foo (id) 
values (1);

您将获得类似于以下的输出:

Insert on foo (cost=0.00..0.01 rows=1 width=0) (actual time=938.776..938.776 rows=0 loops=1)
  ->  Result  (cost=0.00..0.01 rows=1 width=0) (actual time=0.014..0.014 rows=1 loops=1)
        Output: 1
Planning time: 0.040 ms
Trigger foo_trg: time=937.371 calls=1 <<<< here
Execution time: 938.802 ms

请注意, explain (analyze)实际上将运行该语句。 因此,将插入新行。 如果不希望,则需要rollback

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM