2013-07-19 69 views
0

我正在使用postgres數據庫,我想優化我的程序速度。我有自動提交設置爲false。我如何獲得foo.commit()的解釋分析?如何獲得jdbc提交的解釋分析?

+2

http://stackoverflow.com/a/8356983/1177031 – kapand

+0

我知道該怎麼做SQL語句講解分析。但是,提交不是SQL語句,這導致我提出這個問題。 –

+2

'commit'沒有執行計劃。 'explain'只適用於選擇,更新,插入,刪除。 –

回答

1

您不能,因爲有沒有查詢計劃COMMITEXPLAIN ANALYZE只適用於計劃的查詢。

如果你想爲COMMIT執行持續時間,你可以一次客戶端,也可以設置log_min_duration_statement0client_min_messageslog然後捕獲服務器發送你的日誌。

如果你試圖找出爲什麼提交是緩慢的,你最好還是尋找到:

  • 檢查點的持續時間;看到log_checkpoints
  • pg_test_fsync結果存儲子系統
  • 是否有任何DEFERRABLE約束和限制使用的觸發;
  • 總體系統寫入負載