您应该将多个简单查询合并为一个吗?

时间:2016-06-08 15:53:38

标签: mysql

性能方面,是否有任何理由将(如使用JOIN)简单查询(如下所示)合并为一个?

media_id和user_id是INDEXES

我似乎无法找到答案并在过去结合了类似的查询,最终导致整体运行时间延长。

编辑:我总是被告知查询越少越好,这适用于此吗?

0.0028      SELECT *
FROM `z_ratings`
WHERE `media_id` = 18610
AND `user_id` = '1' 

0.0013      SELECT *
FROM `z_watchlist`
WHERE `media_id` = 18610
AND `user_id` = '1' 

0.0016      SELECT *
FROM `z_favourite`
WHERE `user_id` = '1'
AND `media_id` = 18610 

0.0021      SELECT *
FROM `z_watched`
WHERE `user_id` = '1'
AND `media_id` = 18610 

1 个答案:

答案 0 :(得分:0)

这取决于你将它们组合起来的确切程度。

如果使用JOIN或UNION将它们组合成一个语句,则需要考虑索引,并检查组合查询将如何获取数据与简单数据进行比较。

您也可以使用&#34 ;;"将语句连接到语句块中,或者将它们打包到存储过程中。在这种情况下,您实际上可以通过减少对服务器的调用次数来节省时间,但是您可能需要更复杂的逻辑来分析结果。