mysql8 mongodb4 增删改查 性能对比,2019 最专业对比,nosql 真的比 sql 性能强很多?
2024-10-01 20:58:08
原文:mysql8 mongodb4 增删改查 性能对比,2019 最专业对比,nosql 真的比 sql 性能强很多?
版权所有:http://www.fengyunxiao.cn
近几年看了很多关于 Mysql 和 MongoDB 的性能对比的文章,几乎都说 MongoDB 性能比 Mysql 强几十倍。但本人对测试结果深表怀疑,一方面很多测试都没有说明测试的数据库的具体版本,sql服务占用的运行内存,字段是否进行了索引等信息;其次,实验时用的语言、项目、环境是否相同,是否使用了连接池,是否使用了事物也没有具体说明。
该博客测试了 Mysql 8 和 MongoDB 4 在不同数据量下的增删改查性能,为保证测试公平,两个数据库数据均在同一个操作系统,使用相同编程语言和框架,在同一个项目下测试。实验结果均取3次测试的平均值。
测试时间 2019年2月10日。
环境信息
环境名称 | 环境值 |
---|---|
操作系统 | win10 |
运行内存 | 16G |
cpu | 4核4线程 |
运行环境 | 关闭了可关闭的所有进程 |
安装位置 | D盘,60G 固态 |
数据位置 | D盘,60G 固态 |
– | – |
开发语言 | java |
集成环境 | idea |
开发框架 | springboot |
连接池 | springboot默认 |
数据库信息
mysql | mongodb | |
---|---|---|
版本 | mysql8.0.15 | mongodb4.0.5 |
运行内存 | 100M 左右 | 100M左右 |
引擎 | innodb(默认) | WiredTiger(默认) |
主键 | 默认递增 | 默认主键 |
事物 | 增删改使用事物 | 已支持事物,但未使用 |
表结构(无索引)
字段名称 | 类型 |
---|---|
id | int, ObjectId |
age | int |
name | varchar |
birthday | datetime |
插入测试
插入测试分为单个插入测试和批量插入测试。
- 单个插入:每插入一条数据,都进行连接和事物操作,为常用业务,如添加一个新用户。
- 批量插入:只开启一次连接和事物,执行完n次操作后关闭,效率高。常用于数据转移恢复。
插入测试结果
操作 | mysql耗时 | mongodb耗时 |
---|---|---|
单个(1百次) | 1.6秒 | 0.2秒 |
单个(1千次) | 12.8秒 | 0.8秒 |
单个(1万次) | 123秒 | 4.6秒 |
单个(10w次) | 未测 | 30秒 |
– | – | – |
批量1百条 | 0.2秒 | 0.16秒 |
批量1千条 | 1.2秒 | 0.8秒 |
批量1万条 | 6.8秒 | 3秒 |
批量10w条 | 36秒 | 23秒 |
插入结论
单次插入
- 插入一百次,mongodb 比 Mysql 快 8倍
- 插入一千次,快16倍
- 插入一万次,快26倍
批量插入
- 不论批量插入多少条数据(10w以内),mongodb 比 mysql 快约 60%。
查询测试
更新测试
其他测试进行中。。。后续更新。
最新文章
- C#在函数内部获取函数的参数
- ma60笔记
- 让你忘记 Flash 的15款精彩 HTML5 游戏
- mysql分区
- 第一篇 Replication:复制简介
- Unity3D 游戏开发构架篇 —— 动态大场景生成 = 区域加载+对象池管理
- 天草(初级+中级+高级)VIP和黑鹰VIP破解教程(全部iso下载地址)
- 一个基于MVVM的TableView组件化实现方案
- js jsp 时间 日期 控件 插件 简单 实用
- centOS IP能ping通但是域名ping不通
- JAVAEE企业级应用开发浅谈第一辑
- CentOS6下安装git
- es6 let 和 const
- Oracle做insert或者update时未提交事务导致表锁定解决办法
- python打包exe
- mouseover和mouseenter,mouseout和mouseleave的区别-引发的探索
- jdk的卸载及安装+环境变量的配置
- CMD控制器常用命令
- typescript handbook 学习笔记1
- C++11 lambda表达式是如何实现的?
热门文章
- Kinect 开发 —— Kinect studio
- HDU 4699 Editor 维护栈
- 【Codeforces Round #457 (Div. 2) C】Jamie and Interesting Graph
- NYOJ 927 The partial sum problem 【DFS】+【剪枝】
- NO.1 You must restart adb and Eclipse多种情形分析与解决方式
- HDU 1166 敌兵布阵 Segment Tree题解
- 4.dubbo-demo+简易监控中心安装+管理控制台安装
- carousel轮播器
- Linux中iptables学习
- linux创建新用户并给予root权限