批量insert数据

近在做公司的考勤管理软件中,每天全部员工的打卡记录有好几千笔
每次Insert into到数据库的时候都要几十秒,在网上找了下批量Insert的方法:

发现单条insert和批量insert语句之间的性能差异很大。 for (int i = 0; i < 10000; i++){ insert into table(columnA, columnB) values(v1, v2); } 这个语句同下面的语句: insert into table(columnA, columnB) values (v1, v2), (v1, v2), (v1, v2), (v1, v2), (v1, v2),
 (v1, v2), ... (v1, v2)); 性能差异很大!下面的语句要比上面快好几个数量级!

可我在测试的时间下面的insert语句在Sql Server 里用不了(不知道作者是不是在其它数据库里用的,还是我的RPWT),只好另外自己想方法:

Insert into record(EmployeeID,Date,Time)
Select '917041','20070304','07:40' UNION   ALL
Select '917042','20070304','07:40' UNION   ALL
Select '917043','20070304','07:40'
…………

相比之前的单独用Insert into快了那么一点点,在网上也找不到什么更好的方法,只能作罢


最新消息据说SQL SERVER 2008将会支持上面说的写法了
原文地址:https://www.cnblogs.com/elzero/p/817969.html