扫码关注官方订阅号
怎么做到mysql 一张表每日1亿次插入 每分钟平均7w次插入
光阴似箭催人老,日月如移越少年。
=。=~这个完全没问题!!
批量插入就能搞定。
瓶颈在于:磁盘io
昨天晚上刚运行了一个一晚上插入将近7亿条数据的小程序,
这里是代码
$str = "abcdefghijklmnopqrstuvwxyz"; $mysqli = new mysqli('主机名','用户名','密码','test'); $mysqli->autocommit(false); $time = microtime(); for ($i=0; $i < 1000000; $i++) { $name = $str[rand(0, strlen($mysqli))] . $str[rand(0, strlen($mysqli))] . $str[rand(0, strlen($mysqli))] . $str[rand(0, strlen($mysqli))]; $mysqli->query("insert into a(name) values '$name'"); } $mysqli->commit();
希望对你有帮助。
1秒钟19次的写入,这个好像没什么好优化的。。。
如要优化
数据表选用InnoDB,innodb_flush_log_at_trx_commit 设置大一点
去掉自增ID,用程序生成随机uuid(或者不要?)
你这个问题和‘如何做一个大流量网站’一样空泛
《Mysql技术内幕--innodb储存引擎》 第18页
还有一些其他站点,在Innodb上插入/更新操作平均800次/秒...
以此判断出你的问题,很大。。。
你干嘛不写成拓展式插入呢,insert into values (val1,val1),(val1,val1),(val1,val1)...(val1,val1);
Innodb下,插入时limit(5000)试下,磁盘IO是最大的瓶颈
微信扫码关注PHP中文网服务号
QQ扫码加入技术交流群
Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号
PHP学习
技术支持
返回顶部
=。=~这个完全没问题!!
批量插入就能搞定。
瓶颈在于:磁盘io
昨天晚上刚运行了一个一晚上插入将近7亿条数据的小程序,
这里是代码
希望对你有帮助。
1秒钟19次的写入,这个好像没什么好优化的。。。
如要优化
去掉自增ID,用程序生成随机uuid(或者不要?)
你这个问题和‘如何做一个大流量网站’
一样空泛
《Mysql技术内幕--innodb储存引擎》 第18页
以此判断出你的问题,很大。。。
Innodb下,插入时limit(5000)试下,磁盘IO是最大的瓶颈