批量insert数据
最近在做公司的考勤管理软件中,每天全部员工的打卡记录有好几千笔
每次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将会支持上面说的写法了