2011-08-04 42 views
0

沒有任何人有任何提示/技巧爲如何在以下情況下提高性能:FOR XML和性能

  • 我有一個記錄集的約。 500,000行。
  • 有很多數據被拉爲這個查詢。爲了最大限度地減少查詢時間,我把它分成了幾個較小的查詢;全部存儲在具有索引等的臨時表中。最後;我將所有較小的查詢組合到一個臨時表中,作爲最終查詢的「主」記錄。
  • 當前執行時間以上步驟是約2分鐘(不太多,考慮到數據的量被拉動)
  • 的最終結果需要以XML格式被遞送。在編寫我的最終查詢時,我使用​​將其轉換爲正確的格式。
  • 我遇到的問題是上面的XML查詢花費了30多分鐘,在這種情況下這太長了。

所以,我有一對夫婦選擇這裏:

  • 我能夠在這個數據「預加載」到一個實際的表,然後查詢關而不是使用臨時表。我不確定這會花費我多少時間,因爲問題不在於加載數據,而是需要花費很長時間來生成XML。
  • 上面的XML最終將被加載到我們的C#代碼庫中以上傳到它的最終目的地。簡單地將記錄集加載到C#中,並在那裏進行XML轉換,而不是在數據庫端執行它更有意義?
  • 現在我正在使用​​;使用任何其他XML模式(RAW,AUTO,PATH)是否有任何性能優勢?

再次感謝。

〜Jim

回答

2

這是您的選擇。 C#中的XML轉換將比SQL更有效率。

上面的XML最終會被加載到我們的C#代碼庫中,上傳到它的最終目的地爲 。簡單地說, 將記錄集加載到C#中,並在那裏執行XML轉換, 而不是在數據庫端執行它更有意義嗎?