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