本文介紹了查詢從120多個表中拉取12-15 GB數據的處理方法,對大家解決問題具有一定的參考價值,需要的朋友們下面隨著小編來一起學習吧!
問題描述
我有一個從幾乎125個不同的表中提取數據的查詢,我已經創建了大約13個嵌套存儲過程,調用其他存儲過程來提取所有需要的數據。令人驚訝的是,查詢需要很長時間才能執行,有時我不得不關閉連接并重新運行它。
有人建議我使用臨時表,使用SSIS包將所需數據移動到那里,并從那里拉出數據,但我有點不愿意使用SSIS,因為我對SSIS不是很滿意,而且這個報告偶爾會被要求,而且為一個報告移動大約10-15 GB的數據似乎很麻煩。
任何建議請提供任何想法,讓這個地獄般的任務更簡單、更快、更不容易出錯?
推薦答案
創建報表數據庫。在某個頻率上,可以是每小時、每天或滿足報告用戶需求的任何頻率,將數據從事務數據庫ETL到報告數據庫。
您可以使用SSIS,也可以選擇為ETL執行一些存儲過程。無論如何,您可能會使用SQL代理作業來安排它。
最后,就設計報表數據庫而言,請考慮以有助于報表性能的方式轉換數據。許多人出于報告的目的而”扁平化”或非正常化數據。我們將事務數據ETL到使用”星型架構”模式的數據倉庫中,我們還擁有一個Analysis Services數據庫和MDX報告。很可能您不需要為一個報告走那么遠,但是,這是沿著報告和BI的優化數據結構這條相同的道路繼續走下去的。
這篇關于查詢從120多個表中拉取12-15 GB數據的文章就介紹到這了,希望我們推薦的答案對大家有所幫助,