原文: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%。

查询测试

更新测试

其他测试进行中。。。后续更新。

最新文章

  1. C#在函数内部获取函数的参数
  2. ma60笔记
  3. 让你忘记 Flash 的15款精彩 HTML5 游戏
  4. mysql分区
  5. 第一篇 Replication:复制简介
  6. Unity3D 游戏开发构架篇 —— 动态大场景生成 = 区域加载+对象池管理
  7. 天草(初级+中级+高级)VIP和黑鹰VIP破解教程(全部iso下载地址)
  8. 一个基于MVVM的TableView组件化实现方案
  9. js jsp 时间 日期 控件 插件 简单 实用
  10. centOS IP能ping通但是域名ping不通
  11. JAVAEE企业级应用开发浅谈第一辑
  12. CentOS6下安装git
  13. es6 let 和 const
  14. Oracle做insert或者update时未提交事务导致表锁定解决办法
  15. python打包exe
  16. mouseover和mouseenter,mouseout和mouseleave的区别-引发的探索
  17. jdk的卸载及安装+环境变量的配置
  18. CMD控制器常用命令
  19. typescript handbook 学习笔记1
  20. C++11 lambda表达式是如何实现的?

热门文章

  1. Kinect 开发 —— Kinect studio
  2. HDU 4699 Editor 维护栈
  3. 【Codeforces Round #457 (Div. 2) C】Jamie and Interesting Graph
  4. NYOJ 927 The partial sum problem 【DFS】+【剪枝】
  5. NO.1 You must restart adb and Eclipse多种情形分析与解决方式
  6. HDU 1166 敌兵布阵 Segment Tree题解
  7. 4.dubbo-demo+简易监控中心安装+管理控制台安装
  8. carousel轮播器
  9. Linux中iptables学习
  10. linux创建新用户并给予root权限