MySQL:使用 UNION 与多个查询

发布于 2024-09-28 07:30:24 字数 89 浏览 2 评论 0原文

我很想知道UNION是否比运行多个查询更好。

如果是这样,是否有时多个查询会更快或出于其他原因而成为首选?

I'm interested to know if a UNION is better than running multiple queries.

If so, are there times that multiple queries would be faster or preferred for other reasons?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

九歌凝 2024-10-05 07:30:25
  • 如果您使用UNION ALL并且不排序输出,那么
    UNION 的性能应该与
    假设查询是多个单独查询的性能
    与您UNION组合在一起的那些相同。
  • 如果您使用UNION ALL并对数据进行排序,显然您会施加一些开销
    (尽管可能比您在其中排序您的应用程序要少)。
  • 如果省略 ALL 关键字,MySQL 将执行以下额外工作
    DISTINCT-ing 你的结果。同样,这会带来额外的开销
    虽然可能比自己做的要少。
  • If you use UNION ALL and don't sort the output, then the
    performance of UNION should be more-or-less the same as the
    performance of multiple separate queries assuming the queries are
    identical to the ones you're UNION-ing together.
  • If you use UNION ALL and sort the data, obviously you're imposing some overhead
    (although probably less than if you sorted in it your application).
  • If you leave out the ALL keyword, MySQL will do the extra work of
    DISTINCT-ing your results. Again, this imposes extra overhead
    although probably less than doing it yourself.
屌丝范 2024-10-05 07:30:25

你问它是否“更好” - 我假设你指的是“性能方面”?

如果速度影响很小,您可能希望使用多个查询来保持代码更具可读性;而不是在一个联合中处理多个查询、做不同的事情。

当然,取决于用例。但从长远来看,可读且可理解的代码在更大的项目中可能是有价值的

You ask if it "is better" - I assume you are referring to "performance-wise"?

If the speed impact is minimal, you might want to prefer multiple queries to keep your code more readable; instead of dealing with multiple queries, doing different things, in one union.

Depends on the use case, for sure. But readable and understandable code might have it's worth in a bigger project in the long term

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文