我們有一個Sybase數據庫,我們用一個非常簡單的查詢來查詢。Sybase/hibernate數據庫性能
Select * from ts_logs where time_sheet_id = 1234
表有大約110萬條記錄,並直到4天前就已經進行大約半秒鐘一個非常快速的查詢。
我們的應用程序使用hibernate和sql輸出顯示完全相同的查詢。截至三天前,我們注意到性能下降了很多,查詢現在需要9到11秒才能執行。
我們嘗試在NetBeans數據庫可視化工具中運行查詢,發現相同的性能問題。我們最初開始確定這是一個數據庫性能問題,並決定在dbvisualizer中進一步診斷問題,但令我們意外的是dbvisualizer在不到半秒的時間內執行了同樣的確切查詢。
我們在每個環境中都使用jtds 1.3。
在所有環境中都有相同的數據庫。
在所有環境中都有相同的查詢。
什麼可能導致在hibernate/netbeans中的性能瓶頸,但不是dbvisualizer?想看下一個地方的任何想法?
CREATE TABLE ts_log (id numeric identity(19) NOT NULL GENERATED ALWAYS AS IDENTITY, log_comment varchar(2500), log_entry varchar(2500) NOT NULL, time_sheet_id numeric(19) NOT NULL, PRIMARY KEY (id));
查詢返回多少行?也許DbVisualizer不顯示它們和NetBeans。或DbVisualizer不顯示所有內容。請[編輯]你的問題,併爲有問題的表添加'create table'語句。在所有四種環境中,您是否使用**完全相同的**參數作爲連接URL? –
用create語句更新了問題。 NetBeans上的默認值爲1000行,返回的實際行總數爲2.所有環境中的相同url。 –