`
javafan_303
  • 浏览: 958906 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

Mongodb VS Mysql 查询性能

阅读更多

原文出处:http://blog.chenlb.com/2010/05/mongodb-vs-mysql-query-performance.html

环境:同一台机器,装有 mongodb 1.4, mysql;内存 4g;两个数据库都只有 id 的唯一搜索;数据量 120w 左右,5w 个查询。对它们进行 id 或 ids 查询。

  mongodb mysql
total time avg time/per query total time avg time/per query
1 id/per query 11954ms, 00:11,954 0ms, 00,0 78613ms, 00:1:18,613 1ms, 00,1
10 id/per query 35885ms, 00:35,885 0ms, 00,0 107274ms, 00:1:47,274 2ms, 00,2
20 id/per query 63714ms, 00:1:3,714 1ms, 00,1 186398ms, 00:3:6,398 3ms, 00,3
5 thread, 20 id/per query - 5ms, 00,5 - 11ms, 00,11
10 thread, 20 id/per query - 10ms, 00,10 - 22ms, 00,22

 

从上表看:

每次查一个 id 的查询,在基本相同条件下 mongodb 速度是 mysql 的 7 倍。

每次查多个 id (10/20)的查询,mongodb 比 mysql 快 2 倍。

多线程下查多个 id,mongodb 比 mysql 快 1 倍。

从上面的测试来看:主要用在 id 查询或 ids 查询的应用中 mongodb 要优越 mysql。

在插入这些数据的时候,mongodb 更加快于 mysql,插入120w 到 mongodb 用 83159ms, ->00:1:23,159 就够了。mysql 有几十分钟。

当我在实际应用中(kw 级数据量),使用 mongodb 速度没有 mysql 好。原因可能有,mysql 的机器好,mongodb 使用不够得当。继续调整和优化程序吧……

附 mongodb 的 in 查询:

  1. BasicDBObject q = new BasicDBObject();  
  2. BasicDBObject in = new BasicDBObject();  
  3.   
  4. void createQ(Integer[] ids) {  
  5.     q.put("id", in);  
  6.     in.put("$in", ids);  
  7. }  

分享到:
评论

相关推荐

    千万级Mysql-MongoDB性能对比报告

    #### MySQL性能测试结果分析 **用例1**: 对于单次提交10000条记录,每次提交1000次的情况,MySQL耗时3912秒完成操作。在此过程中,观察到CPU使用率提高了10%至20%,内存使用增加了0.5GB至1GB。值得注意的是,在没有...

    mysql和mongodb性能对比报告

    ### MySQL与MongoDB性能对比分析 #### 测试背景与目的 随着大数据时代的到来,数据库的选择对系统的性能至关重要。本报告旨在通过一系列实验对比MySQL和MongoDB两种不同类型的数据库(关系型数据库与NoSQL数据库)...

    02mongodb与mysql性能比较.mp4

    02mongodb与mysql性能比较.mp4

    基于SpringBoot + Mybatis + Thymeleaf + Redis + MongoDB + MySQL开发的商

    使用Redis缓存来提升数据库查询性能 主要分为四个模块: 用户管理模块 :用户登录、注册、密码找回(通过邮箱方式)、用户信息修改、密码修改 仪表盘管理模块 :展示当前月收入及其环比(环比=(当前月收入 - 上个月...

    MySQL与MongoDB数据库架构介绍.pptx

    MySQL 与 MongoDB 数据库架构介绍 MySQL 数据库架构介绍 MySQL 是由 Oracle 公司开发、发布和支持的受欢迎的开源关系数据库管理系统(RDBMS)。MySQL 将数据存储在表中,并使用结构化查询语句(SQL)来进行数据库...

    MySQL vs MongoDB

    MySQL和MongoDB是两种非常流行的数据库管理系统,它们分别代表了关系型数据库(RDBMS)和文档型数据库(NoSQL)的典型代表。在选择数据库系统时,了解它们的特性和差异至关重要。以下是对这两种数据库的详细比较: ...

    springboot整合mongodb+redis+mybatis+mysql

    MySQL 是一个广泛使用的开源关系型数据库管理系统,适用于需要事务处理和复杂查询的应用。SpringBoot 整合 MySQL 通常使用 `spring-boot-starter-jdbc` 或 `spring-boot-starter-data-jpa` 依赖,其中 JPA(Java ...

    面向电子政务的MongoDB与MySQL混合存储策略.pdf

    3. 降低 MySQL 数据库服务器的负载:通过将非结构化数据存储在 MongoDB 中,可以减少 MySQL 数据库服务器的负载,从而提高服务器的性能。 4. 节约 MySQL 的存储空间:混合存储策略可以节约 MySQL 的存储空间,从而...

    logstash抽取mongodb 和 mysql 的全套 ruby脚本

    MongoDB是一个流行的NoSQL数据库,以其文档型数据模型和高性能而知名。在`mongodb.rb`中,Ruby代码会配置Logstash的input插件来连接MongoDB服务器,指定数据库和集合,并定义查询来获取所需的数据。可能的配置项包括...

    mysql 和mongodb 互相同步.zip

    总之,MySQL与MongoDB的互相同步是一个复杂但重要的任务,涉及数据模型的转换、数据迁移的策略以及性能优化等多个方面。正确理解和运用这些知识,能帮助企业更好地管理和利用异构数据库中的数据。

    springboot2.1.3 + mysql(mybatis) + mongodb maven项目

    SpringBoot提供了对MongoDB的良好支持,通过Spring Data MongoDB模块,开发者可以轻松地进行CRUD操作,并利用其丰富的查询功能。 **Maven** Maven是一个项目管理和综合工具,它可以帮助开发者管理项目的构建、依赖...

    MongoDB与MySQL的插入性能测试

    而MongoDB是一种文件导向的数据库管理系统,属于一种通称为NoSQL的数据库,是10gen公司旗下的开源产品,其内部数据存储的方式与传统的关系型数据有很大差别。NoSQL的全称是NotOnlySQL,也可以理解非关系型的数据库,...

    navicat 连接mysql、mongodb工具

    【Navicat 连接MySQL、MongoDB工具详解】 Navicat是一款强大的数据库管理工具,支持多种数据库系统,包括MySQL和MongoDB等。它提供了一个直观的图形界面,使得数据库的管理和开发工作变得简单易行。以下是关于...

    canal 的 mysql 与 redis/memcached/mongodb 的 nosql 数据实时同步方案

    标题中的“canal”的MySQL与“redis/memcached/mongodb”的NoSQL数据实时同步方案,主要涉及了数据库间的数据迁移和实时同步技术。这个话题涵盖了多个关键知识点,包括: 1. **Canal**: Canal是阿里巴巴开源的一个...

    java+spring 5.0.8 mvc + mybatis + mongodb + mysql 架构环境搭建

    在构建Java后端应用时,一个常见的架构是结合Spring MVC、MyBatis、MongoDB和MySQL,这样的组合提供了丰富的功能和灵活性。以下是基于这个架构环境搭建的详细知识点: 1. **Spring MVC 5.0.8**: Spring MVC是Spring...

    MongoDB与MySQL应用与结构分析.pdf

    它支持多种存储引擎,如InnoDB和MyISAM,这些引擎使用B-Tree或B+Tree索引结构,提供高效的查询性能。MySQL在Web应用、日志系统、数据仓库和嵌入式系统等领域有着广泛的应用。 相对地,MongoDB是非关系型数据库,它...

    基于SpringBoot + Redis + MongoDB + MySQL开发的商品管理系统源码+文档说明

    使用Redis缓存来提升数据库查询性能 主要分为四个模块: 用户管理模块 :用户登录、注册、密码找回(通过邮箱方式)、用户信息修改、密码修改 仪表盘管理模块 :展示当前月收入及其环比(环比=(当前月收入 - 上个...

    exerciciopesquisa:MongoDB和MySQL之间的性能比较

    在"exerciciopesquisa-master"这个项目中,可能包含了使用Java进行MongoDB和MySQL性能测试的代码和结果分析,可以深入研究各项指标,如查询速度、内存使用、吞吐量等,以更具体地了解两者在实际场景中的表现差异。...

    记录学习数据库知识mongodb、mysql、redis.zip

    在数据库的世界里,MongoDB、MySQL和Redis是三款非常重要的数据存储系统,它们各自有着独特的特性和用途。本文将深入探讨这三种数据库的核心概念、应用场景以及优缺点,帮助你全面理解它们在IT领域的角色。 首先,...

    MySql Oracle Redis Mycat MongoDB Memcached等数据库教程.zip

    它支持MySQL协议,可以将大型表横向拆分为多个小表,分散到多个数据库服务器上,从而提高查询速度和系统并发能力。Mycat还具备负载均衡和故障切换功能,保障服务稳定性。 5. MongoDB:MongoDB是一款NoSQL数据库,以...

Global site tag (gtag.js) - Google Analytics