在MySQL中快速的插入大量测试数据

为测试数据库设计和优化SQL,需要快速插入大量数据。文章介绍了通过批量INSERT和使用LOAD DATA INFILE命令来提高插入速度,特别是LOAD DATA INFILE在生成合适的数据文件后,能在低配环境下实现每秒近万条的高速插入,是快速填充测试数据的有效方法。
摘要由CSDN通过智能技术生成

很多时候为了测试数据库设计是否恰当,优化SQL语句,需要在表中插入大量的数据,怎么插入大量的数据就是个问题了。

最开始想到的办法就是写一个程序通过一个很大的循环来不停的插入,比如这样:

 

[SQL] 纯文本查看 复制代码
?
1
2
3
4
5
int i = LOOP_COUNT;
 
while(i-->=0){
    //insert data here.
}

 

不过我在这么做的时候发现这样插入数据非常的慢,一秒钟插入的数据量还不到100条,于是想到不要一条一条的插入,而是通过
INSERT INTO TABLE VALUES (),(),(),()...
这样的方式来插入。于是修改程序为:

[SQL] 纯文本查看 复制代码
?
1
2
3
4
5
6
7
8
9
int i = LOOP_COUNT;
StringBuilder stringBuilder;
while(i-->=0){
    if(LOOP_COUNT!=i && i%5000==0){
     //通过insert values的方式插入这5000条数据并清空stringBuilder
    }
    stringBuilder.append("(数据)");
}
//插入剩余的数据

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值