[英]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.