MySQL插入速度是多少
发表于:2024-10-23 作者:千家信息网编辑
千家信息网最后更新 2024年10月23日,这篇文章主要介绍"MySQL插入速度是多少",在日常操作中,相信很多人在MySQL插入速度是多少问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答"MySQL插入速度是多少"
千家信息网最后更新 2024年10月23日MySQL插入速度是多少
负载
这篇文章主要介绍"MySQL插入速度是多少",在日常操作中,相信很多人在MySQL插入速度是多少问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答"MySQL插入速度是多少"的疑惑有所帮助!接下来,请跟着小编一起来学习吧!
写入速度
MySQL每秒可以插入50w条记录吗?
带着疑问,我们一起看看mysql每秒可以插入多少条记录?
要回答这个问题,首先要考虑影响mysql插入速度的因素有哪些?
硬盘的速度,网卡的速度,写入行的数据量,数据在硬盘中的存放位置等等因素。
简单的数据,插入速度肯定快,复杂的插入肯定慢。
所以单纯这个问题不好回答,最好的办法是进行压力测试,最后求一个平均值。
一 测试环境:
MySQL表结构
CREATE TABLE `user_10w` ( `id` int(10) NOT NULL AUTO_INCREMENT, `name` varchar(20) DEFAULT NULL, `mobile` varchar(11) DEFAULT NULL, `add_time` int(11) DEFAULT NULL, `groupid` tinyint(1) DEFAULT NULL, `login_time` int(11) DEFAULT NULL, PRIMARY KEY (`id`) ) ENGINE=MyISAM AUTO_INCREMENT=4730016 DEFAULT CHARSET=utf8mb4
电脑配置
4核 Intel(R) Core(TM) i3-8100 CPU @ 3.60GHz
ssd 120G硬盘
二. 开始测试
说明:单机测试,不涉及网卡,网络传输的影响
测试程序php pdo
include_once("tool.php"); $dsn = 'mysql:dbname=demo;host=127.0.0.1'; $user = 'root'; $pass = 'root'; try{ $hand = new PDO($dsn, $user, $pass); }catch(PDOException $e){ echo 'Connection failed: ' . $e->getMessage(); } $query = $hand->prepare("insert into user_10w(name,mobile,add_time,groupid,last_login_time) values(?,?,?,?,?)"); $n=0; $count = 1000000; //每次插入100w $t = time(); echo 'start write,time is '. $t. "\n"; while(true){ $n++; $name = Tool::getRandomStr(5); $mobile = Tool::getRandNum(9); $group = Tool::getRandNum(1); $rs = $query->execute([$name,'13'.$mobile,time(),$group,time()]); if($n>$count)break; } echo 'write end, time is '. (time()-$t) . "\n";
1.无任何索引,单进程
start write,time is 1593338798 write end, time is 50
耗时50s, 平均2w/秒
2. 给name添加普通索引
write end, time is 60 root@test:/data/php# php7 pdo.php start write,time is 1593393695 write end, time is 61
大概慢了10s ,所以索引会导致插入变慢,因为要更新索引
负载
3. 多进程测试
用go写了一个简单的多进程执行程序
package main import( "os/exec" "sync" ) var wg sync.WaitGroup func testRun(wg *sync.WaitGroup){ c := exec.Command("php7", "./pdo.php") c.Run() wg.Done() } func main(){ var n int = 10 wg.Add(n) for i:=0;i
4进程负载结果:
耗时115s ,插入速度平均3.4w/s
MySQL锁表状态
mysql status10进程一起执行
10进程耗时5‘10" ,插入速度大概3.2w/s
MySQL锁表状态
MySQL status到此,关于"MySQL插入速度是多少"的学习就结束了,希望能够解决大家的疑惑。理论与实践的搭配能更好的帮助大家学习,快去试试吧!若想继续学习更多相关知识,请继续关注网站,小编会继续努力为大家带来更多实用的文章!
速度
进程
测试
索引
学习
数据
硬盘
问题
因素
更多
状态
程序
网卡
帮助
影响
肯定
复杂
实用
普通
接下来
数据库的安全要保护哪些东西
数据库安全各自的含义是什么
生产安全数据库录入
数据库的安全性及管理
数据库安全策略包含哪些
海淀数据库安全审计系统
建立农村房屋安全信息数据库
易用的数据库客户端支持安全管理
连接数据库失败ssl安全错误
数据库的锁怎样保障安全
适合学生的网络安全
安卓软件开发怎么写登录
软件开发服务提供商
网络安全保卫警察事迹
三门峡市公安局网络安全
重大网络安全事件问责
蘑菇服务器被攻击
acs认证服务器
数据库与信息系统设计体会
数据库运维本章自测2
buntu服务器安装
网络安全与刑法
网络安全的修复叫什么修复
华为软件开发上机考试题
海淀区软件开发项目管理在线咨询
深圳市鸿海新网络技术有限公司
在野民宿软件开发
广东数据库日志审计服务器
服务器被人打后多久恢复
我的世界服务器管理员有啥用
山西现代化软件开发产业
21年国家网络安全宣传
软件开发聊天
湖南串口服务器
软件开发找谁
综合安防服务器配置怎么看
互联网测绘公司 西安科技路
ts450服务器
数据库同步异步
ucloud服务器