2013-09-28 68 views
0

我有一個查詢從近125個不同的表中拉取數據,我創建了一些13個嵌套的存儲過程調用其他存儲過程來提取所有需要的數據。驚喜驚喜查詢需要很長時間才能執行,有時我必須殺死他的連接並重新運行它。查詢拉取12-15 GB的數據從超過120個表

我被建議使用臨時表,在那裏使用SSIS包移動所需的數據並從那裏拉取數據,但我有點不情願使用SSIS,因爲我對SSIS不太滿意,並且需要報告此報告一次在一段時間內,也爲一個報告移動10-15GB的數據似乎很麻煩。

任何建議任何想法,請讓這個任務的地獄更簡單,更快,更容易錯誤?

+0

我編輯了你的標題。請參閱:「[應該在其標題中包含」標籤「](http://meta.stackexchange.com/questions/19190/)」,其中的共識是「不,他們不應該」。 –

+0

謝謝約翰,你可以看到這是我在這個博客上的第一個問題。 :) –

+2

聽起來像你有一個嚴重的建模問題。這是我的兩分錢,我肯定會使用分段或臨時表,並遠離SSIS。 SSIS恕我直言更適用於非開發人員,如果您對T-SQL的使用感到滿意,也可以繼續使用。我自己親手完成ETL過程,並發現它更靈活。如果這是導致客戶端問題的生產數據庫,則可能需要先將原始數據按原樣移動到另一個數據庫,然後從那裏執行ETL。如果這是可能的,那麼你可以添加專門圍繞這個過程設計的索引,從而提高整體性能。好運 – jcwrequests

回答

1

創建報告數據庫。在某些頻率上,按小時,每天或任何頻率滿足報告用戶的需求,可將ETL將事務數據庫中的數據存入報告數據庫。

您可以使用SSIS或者您可以選擇爲ETL執行一些存儲過程。無論如何,您可能會使用SQL代理作業安排它。

最後,在設計報表數據庫方面,考慮以有助於報表性能的方式轉換數據。爲了報告的目的,許多人「對數據進行了」平整「或取消規範化。我們將ETL交易數據放入使用「星型模式」模式的數據倉庫中,同時我們也有一個Analysis Services數據庫和MDX報告。最有可能的是,您不必爲一份報告走得太遠,但是,這進一步落在了優化的報告和BI數據結構的相同路徑上。

+0

乾杯交朋友感謝您的建議,但我已經在我的問題提到我知道這些選擇的,我一直在尋找一種更簡單或更簡單的方法來實現這一點,因爲我不舒服SSIS和我的經理已傾倒在我這個報告。我已經過了這個對我的DW的球隊,他們都正把它視爲坦白的講它不是一個人的工作:)反正我很欣賞你的努力朋友。 –

+0

不好意思地樁上,但我認爲數字可能幫助管理你的情況。如果你有一個DW團隊,你做了正確的事情,這絕對是他們的工作。 – tnktnk

+0

DW團隊在我的地方是一堆*********如果你知道我的意思:)。這個工作仍然在日誌隊列中,但沒有人接受它,但它離我的後背不遠。我已經把對「小非常小的打印」作業日誌,我會幫誰做這項工作。但我們會看到,當我們到了那個階段lolll –