本来我想建议你使用WinSQL来插入的,一看数据量在十几亿条,。。估计效率太低。它倒是有这个功能,设置规则随机生成测试数据。我的建议是,根据你的表结构定制,使用C程序生成符合格式的文本文件,然后,使用mysql的命令行load data 这样,效率应该是最快的。
本来也想使用load data的方式,但考虑到同样也要先写文件,就没去测试。因为要模拟一年中,不同时间(间隔5分)的数据,并涉及几百张同样的表,使用存储过程循环插入(采用批量提交的方式),效果一般。最后采用insert into select的方式,将存储过程插入ok的表数据插入到其他表中(本来每张表中的数据是不一样的,这里为了快速模拟,做了些牺牲),但效果还一般,500万条要12分钟。截止现在,还没有插完。
这样,效率应该是最快的。
本来也想使用load data的方式,但考虑到同样也要先写文件,就没去测试。因为要模拟一年中,不同时间(间隔5分)的数据,并涉及几百张同样的表,使用存储过程循环插入(采用批量提交的方式),效果一般。最后采用insert into select的方式,将存储过程插入ok的表数据插入到其他表中(本来每张表中的数据是不一样的,这里为了快速模拟,做了些牺牲),但效果还一般,500万条要12分钟。截止现在,还没有插完。