当前位置: 首页 > 面试题库 >

返回一个大查询还是几个小查询更好?

窦夜洛
2023-03-14
问题内容

我正在使用MySQL存储视频游戏数据。我有用于标题,平台,标签,徽章,评论,开发人员,出版商等的表…

当某人正在观看游戏时,最好有一个查询来返回与游戏相关的所有数据,还是最好使用多个查询?直观地,由于我们具有评论,将它们包括在同一查询中似乎毫无意义,因为它们需要分页。但是在其他情况下,我不确定是否要分解查询或使用两个查询…

我有点担心性能,因为我现在加入游戏下表:开发人员,发行者,元标记,徽章,标题,流派,子流派,分类…,以获取游戏徽章,(来自games_badges;多-游戏表中有很多,而徽章表中有很多),我可以进行其他联接,也可以运行单独的查询…。我不确定最好是什么。


问题答案:

没有万能药。

  1. 始终尝试仅获取必要的数据。
  2. 一个大查询还是几个小查询比较好没有答案。每种情况都是唯一的,要回答这个问题,您应该分析应用程序并检查查询EXPLAIN


 类似资料:
  • 问题内容: 桌子: 我的查询: 我收到“ MySQL子查询返回多个行”错误。 我知道此查询可以使用以下查询的解决方法: 然后使用php循环遍历结果并执行以下查询以获取和回显它: 但是我认为可能会有更好的解决方案? 问题答案: 简单的解决方法是在子查询中添加一个子句: 一个更好的选择(就性能而言)是使用联接:

  • 问题内容: 我正在尝试获取少量数据,在Excel中包含大约200个字段,并从SQL中检索数据,其中每个项目的where子句中都包含该字段。 我希望能够在excel中进行检索(希望本身无需编写任何其他代码-可能是简单的Excel ODBC或带有查询的SQL连接。因此,我的数据最终将在Excel文档中显示: 我不确定我是否足够清楚地说明自己…。 我使用的是Excel 2007,而我在其他地方也有201

  • 问题内容: 我有以下HQL: 是否可以在HQL中更新多于一列的数据?例如: 我知道如何在MSSQL中做到这一点,但我不知道如何在Hibernate中做到这一点。 问题答案: 在这种情况下,HQL与SQL相同。只需使用逗号分隔各列:

  • 在我的Android项目中,我使用Room库来处理SQLite数据库。我使用我的数据库来保存国家电话代码。我的数据库预加载了两个国家(watch大众数据库与国家代码(道:电话代码道)功能); 国家代码实体 DAO接口 在我的应用程序中,我按顺序选择国家代码(观察函数selectCountryCodeByOrder(order:Int):Int)。我在异步{}协同例程中异步调用此函数。但我有一个相当

  • 问题内容: 我有一个数据库,正在运行以下查询: 上面的查询一次返回两个结果集,我不能分别触发两个查询。如何在Java类中一次处理两个结果集? 问题答案: 正确的代码来处理JDBC语句返回的多个: 重要位: 并返回以表明语句的结果只是一个数字,而不是一个。 您需要检查以了解是否还有更多结果。 确保关闭结果集或使用

  • 问题内容: 我知道我们可以进行相关的子查询并加入。但是哪一个更快?有黄金法则还是我必须同时衡量这两者? 问题答案: 首先,相关子查询实际上是联接的一种。关于哪一个产生最佳执行计划没有黄金法则。如果您对性能感兴趣,则需要尝试不同的表格以查看最有效的方法。或者,至少,看看执行该决定的执行计划。 通常,出于两个原因,我倾向于避免关联子查询。首先,几乎总是可以在没有相关性的情况下编写它们。其次,许多查询引