2013-06-27 33 views
0

我正在嘗試記錄基於Eclipse鏈接JPA和oracle數據庫的應用程序的查詢執行時間。如何用java應用程序記錄oracle的查詢執行時間?

我已經爲我的應用程序啓用了跟蹤功能,它使用了ojdbc6_g.jar,詳述如下http://docs.oracle.com/cd/B28359_01/java.111/b31224/diagnose.htm。它運行良好,並做所有的日誌記錄,但我沒有看到任何地方的查詢執行時間。

由於我們使用的是Eclipse鏈接JPA,並試圖使用性能分析器,但看起來像它在最新版本中支持,而我們使用的是1.x版本,因爲我們更接近版本,所以現在無法升級。我們是一個獨立的Java應用程序。

還有其他方法可以實現嗎?

+1

我不知道任何_java_解決方案,但oracle提供了幾種跟蹤會話的方式。你可以使用'dbms_Session'開啓會話的oracle跟蹤,你可以查詢'v $ sql'或'v $ active_Session_history'查詢舊的查詢。 – haki

+0

如果您知道執行JDBC操作的函數名稱,則可以使用https://github.com/alfredxiao/jackplay來跟蹤您的函數。它爲您提供輸入和輸出以及您的功能所用的時間。 –

回答

0

感謝上述迴應。我發現JProfiler在顯示查詢執行時間和其他細節方面非常有用。除了它不是免費的,我也試圖尋找一些能夠像日誌記錄一樣工作的東西。

-Sree

0

log4jdbc是一個Java JDBC驅動程序,可以爲其他JDBC驅動程序記錄SQL和/或JDBC調用(以及可選的SQL定時信息)。該項目提供的jdbc.sqltiming記錄器將允許您記錄執行的SQL語句的執行情況。

點擊這裏關注它:

https://code.google.com/p/log4jdbc/

0

在我來說,前一陣子得到查詢執行時間
execTime = timeBeforeJPA - timeAfterJPA

,或者您可以使用@Juned建議

相關問題