2016-06-08 84 views

回答

1

如果您使用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

+0

@SMW:不,您只會看到每個觸發器的執行時間 –