我想知道是否有減少SSRS報告產生的數據庫負載的可能性。 我有一個由多個子報告組成的SSRS報告。他們每個人都至少有一個數據庫查詢。如何改善由SSRS報告產生的數據庫負載
- 由於大多數子報表都有一種充滿動態數據的模板頭,所以它們中的很多都查詢相同的數據。
- 根據查詢是否返回任何數據顯示了一些子報告。所以一旦數據被查詢以決定是否顯示報告。然後報告本身查詢相同的數據,以顯示它在一張表
一般來說,我可以告訴我需要一種機制,將查詢的DB數據從父報告傳遞到子報告。父報告將查詢一些數據,它將遍歷數據集,並且對於每個數據集,它將顯示傳遞當前數據集的子報告作爲參數。
我找不到傳遞數據集(數據行)的機制。這就是爲什麼我通過傳遞一種數據集ID來顯示子報告。子報告本身再次查詢相同的數據,按照傳遞的數據集ID進行過濾,並只顯示相關的數據集。這會在數據庫上造成巨大的負擔。
預先感謝您!
您需要分析特定的查詢並進行相應的優化。如果總共有7個查詢正在運行,請分析所有這些查詢,找到導致「加載數據庫」的問題並對其進行修復。如果您擔心主/類型查詢,則需要將報表轉換爲僅運行一個查詢,但這可能不可行(或更快)。請注意,如果您反覆運行相同的查詢(即使使用不同的參數),無論如何,您都可以通過緩存等獲得一些效率。 –