简体   繁体   中英

large amount of data insert into table

I've to transfer the data from datatable to database. The total record is around 15k per time. I want to redue the time for data inserting. Should I use SqlBulk ? or anything else ?

If you use C# take a look on SqlBulkCopy class. There is a good article on CodeProject about how to use it with DataTable

If you just aim for speed, then bulk copy might suite you well. Depending on the requirements you can also reduce logging level.

http://social.msdn.microsoft.com/Forums/en-US/transactsql/thread/edf280b9-2b27-48bb-a2ff-cab4b563dcb8/

How to copy a huge table data into another table in SQL Server

SQL bulk copy is definitively fastest with this kind of sample size as it streams the data rather than actually using regular sql commands. This gives it a slightly longer startup time but with more than ~120 rows at a time (according to my tests)

Check out my post here on how to get here if you want some stats on how sql bulk copy stacks up against a few other methods.

http://blog.staticvoid.co.nz/2012/8/17/mssql_and_large_insert_statements

在此处输入图片说明

15k records is not that much really. I have a laptop with i5 CPU and 4GB ram and it inserts 15k records in several seconds. I wouldn't really bother spending too much time on finding an ideal solution.

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM