SqlServer高性能批量插入

从内存占用大小、执行时间长短、实现复杂程度来衡量几种方法

1.一次性加载数据到内存、再一条条插入

2.使用yield逐批次加载到内存,数据库中为表添加【用户自定义表类型】(又叫表值参数)和存储过程(insert Table1 select * from 参数)

3.使用SqlBulkCopy和yield

 

总结:2和3速度快;3实现简单,但需要ADO.NET2.0及以上;2需要为每张表在数据库中定义一个【表值参数】

2和3大概50万条数据/秒,内存占用20MB左右

posted @ 2022-11-08 21:50  那只狐狸  阅读(261)  评论(0编辑  收藏  举报