1. 数据库类型不同
MongoDB 是文档型数据库,存储的是文档型数据(JSON格式)。
MySQL 是关系型数据库,存储的是结构化的表格数据。
2. 数据模式不同
MongoDB 是动态模式, 同一个集合里的文档不需要有相同的字段和结构。
MySQL 是静态模式, 需要预先定义字段。
3. 查询语言不同
MongoDB使用的是面向文档的查询语言,可以对JSON格式的数据进行查询。
MySQL使用SQL语言查询数据库。
4. 索引意义不同
MongoDB可以对任何属性建立索引。意义接近于 唯一key,帮助快速查询。
MySQL可以对表中的列建立索引。索引主要是用于B+树结构,意义在于快速排除80%的数据,并非作为唯一key。
5. 扩展性不同
MongoDB是一个基于分布式文件存储的数据库,可以方便地扩展到大量的数据和高并发。
MySQL 虽然也可以扩展,但需要更多的工作。比如要支持事务分布式,会导致业务逻辑变得复杂。
6. 延迟
MongoDB对写入操作有较低的延迟,这使其非常适合实时应用。
MySQL延迟相对较高。
7. 事务
MongoDB不支持事务操作。
MySQL有完整的事务支持。
8. 总体来说
MongoDB更适合需要灵活方便地存储非结构化数据的场景
MySQL更适合结构化数据和需要事务支持的场景。