XML被用作我們的主要集成點之一。它一次由許多客戶端接收,但同時導入的客戶太多可能會讓我們的數據庫變慢。 有人必須解決這樣的問題。XML導入你會怎麼做?
我基本上使用VB解析數據並導入我想要的和不想要的。
有沒有更好的方法?
XML被用作我們的主要集成點之一。它一次由許多客戶端接收,但同時導入的客戶太多可能會讓我們的數據庫變慢。 有人必須解決這樣的問題。XML導入你會怎麼做?
我基本上使用VB解析數據並導入我想要的和不想要的。
有沒有更好的方法?
您是否考慮過創建SSIS package?您可以通過這種方式有效地從多種不同的源類型導入數據。
這裏是一個很好的起點:http://msdn.microsoft.com/en-us/library/ms188032(v=SQL.100).aspx
會爲多個客戶端場景執行SSIS包工作。 xml文件可能有100個不同的位置... – Rico 2010-05-17 23:39:43
如果這些文件具有相同的架構,並且它們位於可訪問的驅動器上,則不應該成爲問題。 – BradBrening 2010-05-17 23:45:06
沒有具體說明,很難說你的慢點在哪裏。你是在測量在你的應用程序中花費的時間?
我發現很多時候,一個大型數據集正在被不必要地物化,這會消耗內存並且會導致性能下降。如果您在開始解析數據之前收到XML輸入數據並將其存儲在XmlDocument
中,則可能會發生這種情況。如果XmlDocument
很大,這會殺了你。
如果可能,旨在通過用XmlReader
讀取數據來遞增處理數據。一些數據集適用於這種方法:所需的處理不需要很多上下文,但在數據上線性進行。在這種情況下,您會看到將所有內容吸收到XmlDocument
的巨大進步。但是,其他數據集的結構如此嚴密,以至於在繼續之前,您確實必須擁有核心中的所有內容。
同樣,很難說如果沒有理解輸入數據的結構如何有更好的方法。
這很有趣我不知道關於xml文檔對象...... – Rico 2010-05-28 17:21:18
你想存儲XML在XML數據類型的SQL Server 2005數據庫?或者爲了插入數據庫表而撕碎XML的內容? – 2010-05-17 23:35:35
將內容從1個xml文件中導入到多個表中 – Rico 2010-05-24 19:41:05