mongodb 的无索引查询为什么可以比 mysql 快很多?

MySQL和MongoDB性能对比(YCSB压测)

图片.png

在未走索引情况下,千万这个级别的表,MySQL几乎是跑不动的状态,甚至出现了宕机的情况(主备切换了),而MongoDB却给了惊喜,QPS在500+,可以达到预期的水平。

为什么?

阅读 2.5k
3 个回答

没有实测。我觉得大概是因为MySQL缓存的容量有限,而Mongo会将所有内存都进行缓存。

MongoDB的无索引查询之所以比MySQL快很多,是因为MongoDB使用了一种称为"集合扫描"的技术来处理无索引查询。在集合扫描中,MongoDB会扫描整个集合,而不是使用索引来查找数据。这种方法可以在某些情况下提高查询性能,特别是在处理大型数据集时。相比之下,MySQL在处理无索引查询时需要进行全表扫描,这可能会导致性能下降。因此,如果您需要处理大量数据的无索引查询,MongoDB可能是更好的选择。但是,如果您需要进行复杂的关系型查询,MySQL可能更适合您的需求。

新手上路,请多包涵

Mongo会将所有内存都进行缓存。

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题
宣传栏