我有一個存儲過程,不僅規模巨大,而且耗費巨大的內存是。此第一個存儲過程是爲詳細報告創建的。第二個存儲過程調用第一個存儲過程,將信息放入臨時表中,然後從該臨時表中選擇信息並進行彙總。現在總結從一個存儲過程的信息在另一個存儲過程
,第二個存儲過程並不需要所有的細節存儲過程的信息,只需要一些吧。
我們的數據庫管理員稱這種做法魯莽,並取得了其他建議,如「使其每天運行一次堅持這一個真正的表」。這實際上不會發生,因爲許多用戶每天可以運行多次報告,並且可以運行不同的日期範圍。他的另一個建議是SUM沒有臨時表,但我不確定你如何從一個存儲過程中選擇某些字段。
我有兩個問題:如何在不使用臨時表的情況下遵循SUM的第二個建議,如果無法完成,是否有人對使用總結摘要所需數據的最佳方法有任何建議報告?
這些存儲過程兩者都是單獨的報告。一個是細節,另一個是總結。最終用戶可以爲不同的商店和不同的時間段運行它們。
這將如何工作時,最終用戶可以任何時間段的運行呢? – DataGirl 2012-01-09 15:04:30
您必須在視圖中包含需要過濾的所有列。因此,如果您有過濾的開始或結束日期,則需要將其從填充視圖的where子句中移除,並將其包含在存儲的proc邏輯中。 – 2012-01-09 16:09:07