2010-01-13 125 views
0

我們已經建立了企業/ LOB軟件,例如,管理訂單,客戶,庫存等在.net 3.5和SQL Server 2008報告系統架構

我們做各種報告,如

  1. 傳統報告(SQL查詢)
  2. 儀表板(使用圖表,列表等)
  3. 警報(例如,如果一個訂單被取消,通過電子郵件發送導師)

現在,我們直接查詢我們的操作數據庫。我們有時會遇到性能問題,我想知道這是否可以通過優化查詢數據庫的方式或更多涉及的方式來解決,例如使用SQL Report Server或在另一臺服務器上覆制數據庫並查詢。

請問你們有什麼建議嗎?或者我可以閱讀的任何資源?

非常感謝您的幫助。

謝謝。

回答

2

首先使用Reporting Services不會對你有太大的幫助,因爲你最終會對相同的數據庫執行相同的查詢,只有渲染引擎會改變,但它可以通過caching報告。這是否能夠解決您的問題取決於您的負載和問題的位置(效率低下的查詢仍然會很慢)。

優化查詢是我嘗試的第一步,因爲它從來不會傷害,只能是一個很好的練習。

如果這還不夠,我會考慮用於報告的只讀數據庫副本,或者如果您的報告可以從數據倉庫方法中受益,則可以構建OLAP多維數據集。爲了最後這個工作,你必須安裝Analysis Services。

+0

謝謝你,溫科,信息。您能否對只讀副本與OLAP多維數據集發表評論?每種方法的好處和壞處是什麼?你會在哪種情況下使用每種方法? – user191898 2010-01-13 09:00:26

+0

只讀副本對於事務性報告非常有用,其中數據不斷變化,不需要轉換就可以有用(即它是有用的)。另一方面,OLAP對於獲取數據的不同視圖(轉換)以及事務數據必須在代碼(或SQL)中進行很多處理纔有用,或者需要將更多維添加到使用的數據(時間就是規範的例子)。在這裏閱讀關於OLAP的更多信息:http://wikipedia.org/wiki/OLAP – 2010-01-13 09:23:57

0

SSRS實際上可以提供幫助,因爲它內置了對緩存結果和報告的支持。請參閱Report Caching in Reporting Services

+0

好點。儘管這並不意味着查詢不應該被優化。 – 2010-01-13 06:52:02

+0

絕對同意。 – 2010-01-13 07:11:52