中间件速查手册
Compare · 2 个对象

MySQL vs MongoDB

关系型与文档型:不是谁更好,而是数据长什么样
从谁的角度看
MySQL vs MongoDB 对比表
对比维度
MySQL
强一致、事务、复杂查询
MongoDB
灵活 schema、嵌套文档
数据模型
存储单位表 / 行 / 列集合 / 文档(BSON)
Schema严格,改表要 DDL灵活,字段可随时增减
关联查询多表 JOIN,成熟高效$lookup 能力有限,建议内嵌
功能特性
事务完整 ACID,成熟4.0+ 支持多文档事务,性能有损耗
索引B+ 树,二级索引需回表B 树 + 多键/文本/地理索引
扩展方式垂直为主,分库分表要自己做原生分片,按分片键水平扩展
运维与生态
一致性强一致(主从异步有延迟)可调读写关注,默认最终一致
典型场景订单、账务、权限、报表商品详情、内容、日志、画像

点某一行可以高亮该维度,方便逐条横向读;移动端左右滑动查看全部列。

选型建议

MySQL

钱、订单、库存这类不能错的数据,老老实实用 MySQL。

MongoDB

结构多变、以单个对象为中心读写、需要水平扩展,用 MongoDB 更顺手。

一句话结论

多数公司是混用:交易数据在 MySQL,商品详情和日志在 MongoDB。别为了「不用改表」把账务数据放进文档库。

其他对比