【问题标题】:Use subselects or multiple queries?使用子选择或多个查询?
【发布时间】:2012-01-17 07:58:10
【问题描述】:

我想知道什么是最好的。目前,我们的后端(商店)软件中有 3 个用于某些功能的“激活”代码。此时会检查这三个代码的有效性超过 3 个查询。这也可以通过使用带有子选择的 1 个查询来完成。关键是将来可以添加越来越多的代码,在这种情况下什么被认为是最佳实践?我感兴趣的观点是减少数据库服务器上的负载并在这种情况下获得最佳性能。 (当然,索​​引设置正确)

【问题讨论】:

  • 您为什么不对此进行基准测试并确定,而不是在互联网上询问某人?
  • 因为我不仅对实际结果感兴趣,而且对其他人的意见/经验感兴趣。

标签: mysql performance


【解决方案1】:

我认为,几乎唯一将查询分成几个有意义的情况是其中一些结果被缓存时。这样它们的整体性能可能会更好。

另一种情况可能是当您想要将业务逻辑从数据库移到应用程序时,即使性能可能会降低。

否则,我将使用单个查询。

【讨论】:

    【解决方案2】:

    一个明智的查询实际上总是比几个查询更好。

    在大多数情况下,最好的方法是重写您的查询,以便您能够检索一次查询所需的信息。

    顺便说一句,内部优化器将子查询视为连接,因此有时学习如何使用连接和人员编写 sql 查询很有用。

    【讨论】:

    • 并非所有子查询都可以视为连接。
    猜你喜欢
    • 2019-10-25
    • 2013-11-22
    • 2017-04-25
    • 2015-05-24
    • 1970-01-01
    • 2012-08-16
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多