我有一個正在運行的系統,其中數據被定期插入到MS SQL DB中,並且Web應用程序用於向用戶顯示此數據。將數據插入MS SQL數據庫而不鎖定它的最快方法是什麼?
在插入數據的用戶應該能夠繼續使用DB,可惜的是我不能重新設計整個系統現在。每插入2小時40k-80k記錄。
眼下的過程是這樣的:創建
- 臨時表
- 數據使用普通的INSERT語句(參數化查詢或存儲proceuders應該提高速度)插入到它。
- 數據從臨時表抽到使用
INSERT INTO MyTable(...) SELECT ... FROM #TempTable
我認爲這樣的做法是非常低效的目標表。我看到,插入階段可以改進(批量插入?),但是如何將數據從臨時表傳輸到目標?
看來我已經在該表中有很多數據了。似乎複製它也需要一些時間。 – artvolk 2013-05-08 08:31:15