我將大約200萬條記錄插入到SQL Server 2005表中。該表當前具有聚簇以及非聚簇索引。我想改善該表中插入查詢的性能。任何人都可以有想法將大量數據插入到SQL Server 2005表中
回答
你可以嘗試在插入之後禁用索引並在之後再次啓用它們。如果您要將大量數據插入表中,它可能會是一個巨大的時間片。
看看這篇文章對如何做這樣的事情對於SQL Server:http://msdn.microsoft.com/en-us/library/ms177406.aspx
- 刪除所有索引(包括主,如果你對插入的數據 不使用相同的密鑰預序)
- 插入數據
- 重新創建所有刪除的索引
如果您在談論SQL Server:我會建議**不要**放棄聚集索引!否則,在插入之前,表將轉換爲堆,然後在插入後返回到聚簇表中 - 這兩者都是極其耗費時間和資源的操作... – 2011-12-20 12:11:43
是的,同意,但只有當表格中已經有大量數據時 – 2011-12-20 12:23:08
刪除或禁用索引,然後再重新創建或重新構建索引會消耗更多時間。因爲該表已經包含記錄,我已經試過這個東西,但它不會使我受益 – 2011-12-20 12:45:27
如果您不使用批量插入沒有很好的理由,我會說,你最好Ø要做到這一點。即:選擇行格式,然後可以批量重新插入。
通過執行此數量的普通插入操作,您將對事務日誌造成巨大壓力。
如果批量插入不是一個選項,您可以通過將插入分割成塊來贏得一點 - 這樣您就不會逐行移動,但不要嘗試插入並更新它所有的一舉一舉。
我已經嘗試了一下自己,但還沒有時間去接近最終的答案。 (出於同樣的原因,我開始提問Performance for RBAR vs. set-based processing with varying transactional sizes)。
您可以在一個插入中最多插入1000行。
values (a,b,c), (d,f,h)
通過插入的主鍵對數據進行排序。
使用帶(保持鎖定)
你應該刪除索引,然後插入數據,然後重新創建索引。
- 1. 如何將XML數據插入到表中的SQL Server 2005
- 2. 在SQL Server 2005中插入大量數據
- 3. SQL Server 2005 - 大容量插入問題
- 4. 批量插入到SQL Server 2005中
- 5. 插入到SQL Server 2005中
- 6. 批量插入到SQL Server 2005問題
- 7. 如何將61000個數據對象插入到sql server 2005中?
- 8. SQL Server將表中的數據插入到XML變量中
- 9. 在SQL Server 2005中批量插入?
- 10. 將大量數據從Oracle 10G導出到SQL Server 2005
- 11. 將Excel數據導入到現有的SQL Server 2005表中
- 12. 插入XML數據到SQL Server 2005表用vb.net windows窗體
- 13. 如何插入來自Excel工作表數據到SQL Server 2005
- 14. 將HTML數據插入到SQL Server中
- 15. 將數據插入到幾個表 - 可能使用OUTPUT - SQL Server 2005中
- 16. SQL Server大容量插入
- 17. 如何將SQL Server 2005表導出到SQL Server Compact數據庫
- 18. Python:批量插入數據到SQL Server
- 19. SQL Server 2005批量更新或插入
- 20. SQL Server 2005 - 批量插入失敗
- 21. SQL Server 2005的批量插入
- 22. 大容量插入到SQL Server 2008 R2從XML RAW數據
- 23. 將XML導入到未導入的SQL Server 2005數據中
- 24. 將數據插入SQL Server表
- 25. 將大量數據插入到Redshift中
- 26. 將變量插入到SQL Server中
- 27. SQL Server 2005插入圖像
- 28. 插入數據表內容到SQL Server
- 29. 如何使用node.js將數據批量插入到SQL Server中
- 30. 將記錄批量插入到SQL Server數據庫中
另外,你目前如何插入數據?你在使用批量插入嗎?你使用INSERT語句嗎?你一次插入一行還是一次插入多行? – 2011-12-20 12:09:01
@TobyAllen:我們確實知道這是作業嗎? – 2011-12-20 12:31:51
我正在使用SQL Server 2005數據庫系統。我沒有使用批量插入我正在使用insert into table_name語句,並且當前一次插入多行。 – 2011-12-20 12:48:50