2013-02-18 79 views
-3

我是一個數據庫人員,我有一個基於Java的Web應用程序。如何提高使用數據庫查詢的應用程序的性能?

它運行緩慢,開發人員告訴我,由於DB只有緩慢。他們要求進行查詢優化。

我試圖調整查詢,但我無法獲得太多的性能。

當我嘗試在瀏覽器中運行查詢時,它工作正常,但在應用程序中很慢。

請給我一些關於如何解決這個問題的建議。

+2

你應該考慮詢問具體的問題,並提供一些細節來了解問題。廣義工作特定問題不會在SO上提供回覆。 – Minesh 2013-02-18 12:24:28

+0

我不知道他們只是責怪查詢的問題。 – Cynosure 2013-02-18 12:37:25

+2

*「請給我建議」* - 描述應用程序,或讓開發人員這樣做。 – 2013-02-18 12:42:23

回答

3

這裏是我會怎麼處理這:

  • 讓開發商選擇最運行速度慢一個使用案例,讓他們描述了你。他們還應該提及作爲該用例的一部分運行的所有查詢,包括參數。
  • 當您從SQL工具直接對數據庫運行它們時,請向他們顯示查詢結果,而不是從應用程序運行它們。確保您使用相同的數據庫實例和相同數量的數據。
  • 如果時間差異很大,請開發人員使用Java分析器(例如YourKit或visualVM)來確定在哪裏花費時間。這應該很容易看到瓶頸。
  • 當應用程序運行緩慢時,請注意上下文。它是針對單個用戶還是多個用戶執行相同的用例?
  • 大多數數據庫也會寫日誌文件,概述查詢性能並突出顯示有問題的查詢。 Oracle的AWR文件就是一個例子,也許MySQL有類似的東西。

基本上,嘗試與開發人員合作,而不是針對他們。向他們解釋你如何調整查詢,並讓他們告訴你他們如何嘗試調整應用程序。這種方法一直爲我工作。

+0

謝謝你的簡要解釋。 – Cynosure 2013-02-18 13:27:52

相關問題