php - 有什么快速生成1000万条数据并插入mysql数据库的方法?
PHP中文网
PHP中文网 2017-04-11 10:34:47
[PHP讨论组]

我用insert into插入,加for循环1000万次。但是笔记本操作起来太卡了。大神有更好的方法吗?

PHP中文网
PHP中文网

认证0级讲师

全部回复(11)
阿神

用脚本生成数据文件,以"\t"或者","分割!
mysql load data infile 方式通过文件导入数据!

insert into肯定是不行。。。。

PHP中文网

在CLI模式下用PHP异步每分钟生成10000条数据插入,100分钟即可完成.

巴扎黑

你可以换换不同的存储引擎试试,MyISAM 要比 Innodb 具有更高的插入速度,我之前测试的结果是,插入100万条数据,innodb 用了15分钟左右,而myisam用时50秒!

PHP中文网

1.要看插入内容的,只是单纯的数字字母信息会快一点,
2.其次如果数据库空中没有太多索引也会好一点
3.如果mysql是在固态硬盘内,读写会更快一点
4.但是最关键还是要看你内存和CPU频率

阿神

注意,应该尽量使用一条带很多values的insert 语句,而不是多条insert into
其他并无特别好的办法

PHP中文网

一千万条数据还是比较多的,可以分开几次插入,然后把每次插入的值拼成一条 sql 语句执行

大家讲道理

分多次插入吧。用触发器。

怪我咯

建多张表,多线程插入,然后合并这些表。

PHP中文网

多进程执行,建议看下pcntl_fork函数

高洛峰

使用存储过程,参考

热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新 English
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送
PHP中文网APP
随时随地碎片化学习

Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号