最近在做公司的考勤管理软件中,每天全部员工的打卡记录有好几千笔
每次Insert into到数据库的时候都要几十秒,在网上找了下批量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将会支持上面说的写法了

版权声明:本文为elzero原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://www.cnblogs.com/elzero/archive/2007/07/14/817969.html