我对数据库很陌生,对一些高级基础知识很感兴趣。我看过this wonderful SO post。在某些情况下,我在一个人之下比另一个人好,但不确定为什么。
为什么MySQL在加入操作时比MongoDB更快?
为什么MongoDB在分布式系统中的扩展性更好?
为什么MongoDB会更快,如果我和#34;只选择一堆表并将所有对象放在一起,就像大多数人在网络应用中做的那样" ?
非常感谢!
答案 0 :(得分:20)
这个问题缺乏任何真正的研究,我的意思是你说你读过这个问题,但要么这个问题对其信息来源有一些实际问题,要么......好吧;无论如何:
为什么MySQL在加入操作时比MongoDB更快?
因为它没有? MongoDB没有服务器端连接。我很抱歉把它放在首都,但我经常这么说,我只是想把它作为大多数问题的事实答案。
你做的任何加入都是客户端。这意味着它们实际上比MySQL或其他SQL技术更慢。加入客户端背后的重要思想是,如果不是不可能的话,在服务器端进行这些操作变得非常难以在大型分布式环境中扩展。这就是为什么许多大型SQL用户实际上都试图阻止巨大的连接,并且正在尝试用SQL做MongoDB所做的事情。
这种情况当然取决于情景。
为什么MongoDB在分布式系统中的扩展性更好?
http://docs.mongodb.org/manual/replication/在这里非常重要,http://docs.mongodb.org/manual/core/sharded-clusters/也是如此,我建议您仔细阅读,以及它们如何扩展到数据分区以及不是。
如果我“只是选择一堆表并将所有对象放在一起,为什么大多数人在网络应用程序中做什么”,为什么MongoDB会更快?
不知道你的意思。
我意识到这不是一个很好的答案,但你的问题是那些事实上的问题之一,所以我回答了事实上的答案。
由于您不熟悉数据库,我个人建议您使用一个...