性能方面,是否有任何理由将(如使用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
答案 0 :(得分:0)
这取决于你将它们组合起来的确切程度。
如果使用JOIN或UNION将它们组合成一个语句,则需要考虑索引,并检查组合查询将如何获取数据与简单数据进行比较。
您也可以使用&#34 ;;"将语句连接到语句块中,或者将它们打包到存储过程中。在这种情况下,您实际上可以通过减少对服务器的调用次数来节省时间,但是您可能需要更复杂的逻辑来分析结果。