MySQL插入速度是多少
发表于:2025-01-21 作者:千家信息网编辑
千家信息网最后更新 2025年01月21日,这篇文章主要介绍"MySQL插入速度是多少",在日常操作中,相信很多人在MySQL插入速度是多少问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答"MySQL插入速度是多少"
千家信息网最后更新 2025年01月21日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安全错误
数据库的锁怎样保障安全
提供软件开发服务税率
网络安全监管的
记录软件开发知识库的软件
长沙服务器机柜价格怎么样
软件开发的技术因素
乡镇网络安全大排查工作整改报告
iphone软件开发培训机构
连云港应用软件开发收费价目表
脂质的数据库
oa软件开发 认可和丰软件
国家网络安全宣传周有关视频
mysql父子关系数据库
软件开发实训生待遇
微信软件开发流程图
湖南蓝煋网络技术有限公司
计算机网络技术专业云计算
金山软件开发部待遇
华为gaussdb数据库安装
五种网络技术
消逝的光芒2连接不上服务器
汽车开发与软件开发哪个好
数据库架构程序
五一节前网络安全执法检查
我的世界博士服务器
上市公司数据库处理
苏州hpe塔式服务器价格
服务器找不到网关的arp报文
网络安全手抄报上应该写什么
用友t 数据库是哪个表
ipsec服务器软件