我对数据库真的很陌生,对一些高级基础知识很感兴趣。我已阅读 this wonderful SO post .在某些情况下,我在一个之下比另一个更好,但不知道为什么。
为什么 MySQL 在连接操作上比 MongoDB 快?
为什么 MongoDB 在分布式系统中的扩展性更好?
如果我“只是选择一堆表并将所有对象放在一起,也就是大多数人在 Web 应用程序中所做的事情”,为什么 MongoDB 会更快?
非常感谢!
最佳答案
这个问题缺乏任何真正的研究,我的意思是你说你读过那个问题,但是这个问题的信息来源有一些真正的问题,或者......嗯;无论如何:
Why is MySQL faster than MongoDB at join operations?
因为它没有? MongoDB 没有服务器端连接。我很抱歉把它放在大写字母上,但我经常这么说,我只是想把它作为大多数问题的实际答案。
您所做的任何连接都是客户端。这意味着它们实际上会比 MySQL 或其他 SQL 技术慢。加入客户端背后的重要思想是,在服务器端进行连接变得非常难以在巨大的分布式环境中进行扩展,如果不是不可能的话。这就是为什么许多 SQL 大用户实际上试图阻止大量连接,并有效地尝试在 SQL 中做 MongoDB 所做的事情。
这种情况当然取决于场景。
Why does MongoDB scale better in distributed system?
http://docs.mongodb.org/manual/replication/在这里非常重要,http://docs.mongodb.org/manual/core/sharded-clusters/ 也是如此。我建议您仔细阅读它们以及它们如何扩展到数据分区以及什么不是。
Why is MongoDB faster if I am "just selecting a bunch of tables and putting all the objects together, AKA what most people do in a web app" ?
我不明白你的意思。
我意识到这不是一个很好的答案,但你的问题是那些事实上的问题之一,所以我回答了一个事实上的答案。
由于您通常是数据库新手,我个人建议您使用一个...
关于mysql - mongoDB vs mySQL——为什么在某些方面比另一个更好,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17017010/