php+mysql中迅速插入百万条测试数据的方法
2016-11-14 15:34
405 查看
1.PHP代码
[php] view
plain copy
<?php
$t=mktime();
set_time_limit(1000);
$myFile="c:/insert.sql";
$fhandler=fopen($myFile,'wb');
if($fhandler){
$i=0;
while($i<1000000)//1,0000,000
{
$i++;
$sql="$i\t'bb'";
fwrite($fhandler,$sql."\r\n");
}
echo"写入成功,耗时:",mktime()-$t;
}
//注意字段不再以逗号分割,以\t分割,条记录以\r\n分割。
2.在MySQL中运行代码代码
[sql] view
plain copy
LOAD DATA local INFILE 'c:/insert.sql' INTO TABLE `cache`(`id`, `name`);
3.运行结果(12秒)
[sql] view
plain copy
[SQL] LOAD DATA local INFILE 'c:/insert.sql' INTO TABLE `cache`(`id`, `name`);
受影响的行: 1000000
时间: 12.855ms
注意:在插入大数据之前先将表的主键、唯一健删除,不然每插入一条数据都会和之前的数据进行对比是否重复
比如说之前有10W条数据、现在你需要再插入50W条数据,就是50Wx50W次重复检查。想想这样的话,数据
越多检查就越多。
数据新增完以后再进行设置主键、唯一健。
自己测试过的结果。主键为UUID设置200W数据大概时间为20min左右.
[php] view
plain copy
<?php
$t=mktime();
set_time_limit(1000);
$myFile="c:/insert.sql";
$fhandler=fopen($myFile,'wb');
if($fhandler){
$i=0;
while($i<1000000)//1,0000,000
{
$i++;
$sql="$i\t'bb'";
fwrite($fhandler,$sql."\r\n");
}
echo"写入成功,耗时:",mktime()-$t;
}
//注意字段不再以逗号分割,以\t分割,条记录以\r\n分割。
2.在MySQL中运行代码代码
[sql] view
plain copy
LOAD DATA local INFILE 'c:/insert.sql' INTO TABLE `cache`(`id`, `name`);
3.运行结果(12秒)
[sql] view
plain copy
[SQL] LOAD DATA local INFILE 'c:/insert.sql' INTO TABLE `cache`(`id`, `name`);
受影响的行: 1000000
时间: 12.855ms
注意:在插入大数据之前先将表的主键、唯一健删除,不然每插入一条数据都会和之前的数据进行对比是否重复
比如说之前有10W条数据、现在你需要再插入50W条数据,就是50Wx50W次重复检查。想想这样的话,数据
越多检查就越多。
数据新增完以后再进行设置主键、唯一健。
自己测试过的结果。主键为UUID设置200W数据大概时间为20min左右.
相关文章推荐
- mysql中迅速插入百万条测试数据的方法
- mysql中迅速插入百万条测试数据的方法
- mysql中迅速插入百万条测试数据的方法
- mysql中迅速插入百万条测试数据的方法
- MySQL向一张表中插入多条测试数据的方法
- MySQL插入百万条测试数据
- php+mysqli实现批量执行插入、更新及删除数据的方法
- 大数据通过PHP快速插入MYSQL的方法
- php mysqli 一次插入10w条数据方法 uery(): MySQL server has gone away
- php向MySQL插入数据不全 解决方法
- [Php-Mysql]多条数据的循环插入和一次性插入的性能测试
- PHP插入数据到Mysql出现乱码的解决方法
- mysql快速生成百万条测试数据的方法
- php操作mysql迅速插入上百万数据
- mysql快速生成百万条测试数据的方法
- php插入mysql数据返回id的方法
- 用PHP一次写入百万条测试数据
- mysql 批量插入测试数据
- mysql测试数据批量插入
- MySQL 存储过程插入大量测试数据