近在做公司的考勤管理软件中,每天全部员工的打卡记录有好几千笔
每次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将会支持上面说的写法了
每次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将会支持上面说的写法了
【推荐】还在用 ECharts 开发大屏?试试这款永久免费的开源 BI 工具!
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步