2010-10-29 62 views
0

在我工作的公司,我們有一個基於Jboss/Apache/Hibernate和Ms Sql 2005 db的應用程序。查詢加速策略

我們有一個加載一堆交易的頁面。現在我們在加載頁面時計時了這一點,並且它需要15到20秒才能加載文件,這是因爲查詢構建(不確定這些是由hibernate構建的)加入大量表格。 爲了糾正這個問題,我們將一些左連接更改爲內連接並將索引添加到表中。然而這並不能真正解決問題,它會變得更好,但並不顯着。

有什麼想法?

回答

0

您可以將只讀數據庫實例移至其自己的服務器,使用固態驅動器並調整索引。優化這個的另一種方法是運行一個查詢來創建一個你可以用一個簡單查詢訪問的表,而不是在運行時運行一堆查詢。

0

你做了什麼來確定要添加哪些索引?我一直對MSSQL Index Tuning Wizard非常幸運 - 您可以使用SQL Profiler在頁面加載期間跟蹤數據庫活動,然後通知「查詢調整嚮導」根據該活動建議新的索引和統計信息。它通常會提出一些可以產生巨大差異的指標。

高爭用磁盤上的數據庫?如果數據庫位於自己的物理磁盤上,查詢可能會更快。考慮到基礎表的大小,也許數據庫服務器的電源不足 - 它是否有足夠的備用資源來處理文件加載?

0

查詢返回多少條記錄?

如果有很多記錄,您可能需要進行某種自定義分頁,並且只返回當前頁面上的記錄數(即50頁的頁面將僅返回記錄1 - 50)