ADO.net一次可以在數據庫中插入的記錄數量是否有限制?我們希望與sqlbulkcopy
一起工作,但開發人員告訴我們ADO一次不會插入超過1000條記錄,所以sqlbulkcopy
插入10000批記錄是無用的。這是真的? sqlbulkcopy
是否每次都插入大批1000個,直到10000?ADO.NET和SQLBULKCOPY - 最大記錄限制插入?
我不認爲ADO有最大的記錄數量,但他們是開發人員,所以我不確定。
ADO.net一次可以在數據庫中插入的記錄數量是否有限制?我們希望與sqlbulkcopy
一起工作,但開發人員告訴我們ADO一次不會插入超過1000條記錄,所以sqlbulkcopy
插入10000批記錄是無用的。這是真的? sqlbulkcopy
是否每次都插入大批1000個,直到10000?ADO.NET和SQLBULKCOPY - 最大記錄限制插入?
我不認爲ADO有最大的記錄數量,但他們是開發人員,所以我不確定。
這是不正確的。其實你必須設置BatchSize
屬性,如果你想要一個,因爲默認是0
,或者沒有限制。
此外,在查看SqlBulkCopy
類的WriteToServerInternal
方法之後,這是限制在單個批處理中發送的行數的唯一方法。
最後,即使您將它們發送到批次的1,000行,對於可插入的行的總數也沒有限制。那麼,除了運行機器的內存,例如通過DataTable
完成。但是,如果通過SqlDataReader
將數據從一臺服務器複製到另一臺服務器,則可以使用的總體限制,這可以以任何形式或形式達到。
BULKCOPY.BATCHSIZE=1000;
這將幫助您解決批量複製錯誤。
誰會假定批量插入API在1k行最大?! – usr
你應該測試什麼是最適合你的BatchSize。我不記得確切,但當我不得不將60-180k記錄導入分貝時,我不得不平衡速度和我的網絡服務器的處理器負載。找到正確的BatchSize,可以使您的CPU負載率達到最佳性能。 –