JOIN查询比几个查询更快吗?(你运行主查询,然后根据主查询的结果运行许多其他SELECT)
我在问,因为加入它们会使我的应用程序的设计变得复杂
如果他们更快,任何人都可以粗略地估计多少?如果它是1.5倍,我不在乎,但如果它是10倍,我想我会这样做。
发布于 2018-03-27 09:04:18
这太模糊了,无法给你一个与你的具体案例相关的答案。这取决于很多事情。但是,绝大多数情况下,如果你有正确的索引,并且你正确地进行了JOIN,那么做1次旅行通常会比几次更快。
发布于 2018-03-27 09:45:55
对于内部连接,一个查询是有意义的,因为你只能得到匹配的行。对于左连接,多个查询要好得多......看看我做的以下基准:
.
请注意,在这两种情况下我们都得到相同的结果(6 x 50 x 7 x 12 x 90 = 2268000)
左连接使用指数更多的内存与冗余数据。
内存限制可能不会如此糟糕,如果你只做两个表的连接,但通常是三个或更多,并且它变得值得不同的查询。
作为一个便笺,我的MySQL服务器就在我的应用程序服务器旁边......所以连接时间可以忽略不计。如果你的连接时间在几秒钟内,那么也许会有好处
https://stackoverflow.com/questions/-100003698
复制相似问题