我們今天的設置使用XML數據並將該數據拆分爲SQL中的多個表。這樣做的唯一好處是報告很好。但是,無論何時我們想要檢索數據,我們都必須重新綁定來自數百個表的所有數據以重新導出XML。每個XML可以是幾MB到幾GB。諷刺的是,我們很少運行報告,但經常檢索/保存數據。由於將其拆分/編譯爲幾個表,保存和檢索都不是非常有效。SQL - 使用BLOBS查詢
由於數據是以XML形式出現的,因此我正在考慮更新我們的方法並將XML作爲大型BLOB保存到表中。那會很簡單。
現在的問題是報告 - 沒有索引blob的能力我想知道我可以運行儘可能高效的報告。
該數據庫在100個GB中。我不是DBA(我是一個C#人員) - 我剛剛在工作中着手這個位置,所以我可以考慮的唯一方法就是使用C# - 將每個BLOB構建爲XML,然後在C#中查詢XML數據。但是,這似乎是非常低效的。也許SQL中的XQuery更好?!儘管不是DBA,但我對任何編程(C#/ VB)或SQL建議感到滿意。
爲什麼你正在爲難以運行的報告進行優化,而不是一直在進行回收/保存?這些報告是否可以計劃提供給希望看到它們的人,還是需要按需運行? – BlackICE
@大衛 - 我不是。我已經進入了一個發生這種情況的位置,我們改進系統的順序是由其他人決定的!報告不會按需提供。 – Dave
如果報告不是按需提供的,我會按建議操作,並使用XML數據類型列並設計報告,否則這似乎是傳統的CQRS問題。 – BlackICE