优点

  1不存在sql注入:MySQL的是sql注入是一个很严重的缺点,虽然可以使用参数绑定和预处理以及特殊字符转义来处理。但是MongoDB根本不存在这个问题。不过xss攻击还是需要防范的。

  2不需要提前创建表:在MySQL中如果想要写入一条数据的话必须要先创建好一张表然后才能写入数据,比如:要在user表里写入id=1,username=‘aaa’,sex='女',age=‘20’这条数据,那你就必须在MySQL数据库上提前建好一张user表,并且至少必须有id,username,sex,age这几个字段才能写入成功。但是MongoDB可以直接写入数据,不需要提前创建表,例子:db.user.insert({"id":1,"username":"aaa","sex":"女","age":20}) 就好

  3可以任意添加或减少字段:用上一个例子,在MySQL中假设我要在上一条数据上再加一个身高height字段,那么我就必须再去user表上再去添加一个height字段才能写入height数据。但是在MongoDB中你可以直接写就行,而且假设你的第一条数据是 id,username,sex,age,那么你的第二条数据大可以写成 id,username,age,leight。

  4字段数据格式自由:在MySQL中,如果id字段是数字的话你写一个字符串进去是会报错的,但是MongoDB不会。

  5可以处理json结构:在MongoDB可以存储一个json对象,比如 字段a的值为{"a":11,"b":12,"c":"abc","d":[1,2,3]},你可以直接去读取或设置a字段的b值 a.b,读取a字段d数组的第二个值:a.d.1,可以去删除a字段的a数据$unset:{"a.a":1},就会变成:{"b":12,"c":"abc","d":[1,2,3]}

  6可以使用upsert操作,即修改的数据不存在时直接插入。({where},{$set:{data}},{"upsert":true})

  7充分利用了计算机内存,所以查询和插入效率要远大于MySQL。我自己测试(400w随机数据)的时候只有在没有索引的情况下MongoDB的查询效率要远大于MySQL,插入效率和MySQL差不多都是8w条左右1分钟。在有索引的时候MySQL的查询要速度要高于MongoDB。

本文章已整理成文档,您可以下载本地随时查阅。下载地址:

http://kk04.cn/f-6208.html

Mongodb相比MYSQL的7大优点相关推荐

  1. 【大讲堂讲师专访】张甦:数据库选型需因地制宜,MongoDB与MySQL绝非替代

    云和恩墨大讲堂每周都会邀请业内外大咖进行一小时的线上主题分享,本期我们邀请到了恩墨学院张甦老师,带来题为<MongoDB经典案例分析>的分享,敬请期待. 在开课前,大讲堂有幸采访了张老师, ...

  2. 第五十四期:MongoDB与MySQL:如何选择

    MongoDB和MySQL分别是领先的开源NoSQL和关系数据库.哪个最适合您的应用程序? 作者:XEyes行走的CODE来源 MongoDB和MySQL分别是领先的开源NoSQL和关系数据库.哪个最 ...

  3. mongodb和mysql的语法_Mongodb和mysql的区别

    1. Mongodb简介及优缺点分析 Mongodb是非关系型数据库(nosql ),属于文档型数据库.文档是mongoDB中数据的基本单元,类似关系数据库的行,多个键值对有序地放置在一起便是文档,语 ...

  4. Mongodb学习总结(2)——MongoDB与MySQL区别及其使用场景对比

    对于只有SQL背景的人来说,想要深入研究NoSQL似乎是一个艰巨的任务,MySQL与MongoDB都是开源常用数据库,但是MySQL是传统的关系型数据库,MongoDB则是非关系型数据库,也叫文档型数 ...

  5. MongoDB与MySQL的插入、查询性能测试

    转载自:http://blog.csdn.net/clh604/article/details/19608869 1.1  MongoDB的简单介绍 在当今的数据库市场上,MySQL无疑是占有一席之地 ...

  6. Node.js b站教学视频汇总笔记(完)CommonJS模块规范、 require、npm、Express(中间件)、MongoDB、MySQL

    文章目录 Node.js b站教学视频汇总笔记(完)CommonJS模块规范. require.npm.Express(中间件).MongoDB.MySQL 1. Node介绍 为什么要学习Node. ...

  7. 一次 MySQL 千万级大表的优化过程

    作者:赵客缦胡缨v吴钩霜雪明 https://www.jianshu.com/p/336f682e4b91 概述 使用阿里云rds for MySQL数据库(就是MySQL5.6版本),有个用户上网记 ...

  8. 详记一次MySQL千万级大表优化过程!

    来自:知乎,作者:互联网编程 链接:https://www.zhihu.com/question/19719997/answer/549041957 问题概述 使用阿里云rds for MySQL数据 ...

  9. MongoDB和MySQL的区别

    http://www.cnblogs.com/caihuafeng/p/5494336.html MongoDB(文档型数据库):提供可扩展的高性能数据存储 一. 1.基于分布式文件存储 2.高负载情 ...

最新文章

  1. Kaggle Days首次落地中国,日本团队拿下冠军
  2. 多行文本溢出显示省略号(…)
  3. GNU ARM汇编--(二)汇编编译链接与运行
  4. 包含绑定变量的sql进行调优需注意一点
  5. MYSQL储存过程和储存函数和变量
  6. 《那些年啊,那些事——一个程序员的奋斗史15》
  7. 写在方法中的路由跳转
  8. 理解Spark的核心RDD
  9. java List及其实现类
  10. Oracle杀死Java EE:名正言顺转到.NET Core
  11. python访问excel的类_Python实现的Excel文件读写类
  12. 根据不同条件查询_刑事立案要符合哪些条件,怎么查看立案没有
  13. 1、CSS height 属性,2、Flex 布局教程:实例篇,3、CSS 链接,4、CSS display 属性,5、表格,
  14. 省市联动_简单的Demo,适用于各种二级菜单联动
  15. 最实用windows 下python+numpy安装(转载)
  16. VS2017创建项目模板和项模板(方便实用)
  17. win10添加网络打印机_Win7系统添加网络共享打印机
  18. Qgis教程4:文本数据的加载
  19. FastAPI 构建 API 服务,究竟有多快?
  20. 无所不能的Java系列文章

热门文章

  1. Mysql 更改用户名密码
  2. ld-linux-x86-64.so.2挖矿木马,排查操作记录
  3. ASP.NET 快递管理管理系统毕业设计实现步骤
  4. CentOs6.5 详细安装步骤
  5. zgb老师关于java集合的总结
  6. 让你快速掌握技巧,新手怎么做自媒体?分享6点干货知识
  7. 连续分配存储的四种管理方式
  8. PHP 文字生成透明图片之路
  9. access查询设计sol视图_选择查询-在access中如何建立一个选择查询只查询一个信?在access 爱问知识人...
  10. 我的世界服务器被无限循环怎么办,我的世界无限循环装置制作方法