我有循环,在该循环中我使用INSERT INTO命令获得75000+值。当我运行它消耗更多的时间。如何提高插入速度,......
提前谢谢...... RGS tharindu
答案 0 :(得分:1)
答案 1 :(得分:1)
如果你有一个75k插入的循环,你做错了
根据您的评论,您需要为您创建行格式。
;WITH cNumbers AS
(
SELECT ROW_NUMBER() OVER (ORDER BY c.id) - 1 AS rownum
FROM sys.columns c CROSS JOIN start_number c2 CROSS JOIN start_number c3
)
SELECT
c.rownum + m.start_number
FROM
mastertable m
CROSS JOIN
cNumbers c
WHERE
c.rownum <= no_of_items
有更好的方法来生成行,但这会比循环75k次更好。
编辑:同样的想法适用于大多数RDBMS,除了MySQL没有窗口功能...... 在这种情况下,我有一个数字表填充1-100000例如
答案 2 :(得分:0)
一种解决方案可能是将数据写入插入文件,然后在mysql中使用LOAD DATA INFILE
批量加载。与拥有75000个独立插件相比,它应该可以大大加快速度。