对SQL中的联合或单独的查询更好,然后使用php array_merge?

Chr*_*ris 8 php mysql

我有一个SQL查询,有4个UNIONS和4个LEFT JOINS.它是如此布局:

SELECT ... FROM table1
    LEFT JOIN other_table1
UNION SELECT ... FROM table2
    LEFT JOIN other_table2
UNION SELECT ... other_table3
    LEFT JOIN other_table3
UNION SELECT ... FROM table4
    LEFT JOIN other_table4
Run Code Online (Sandbox Code Playgroud)

运行4个单独的查询然后在事后将结果与php合并会更好吗?或者我应该把它们放在一起?哪个会提供最快的执行?

Boj*_*les 5

最明确的答案是测试每个方法,但是UNION最有可能更快,因为MySQL只运行一个查询而不是联盟的每个部分运行4个查询.

您还可以消除在PHP中将数据读入内存并连接它的开销.相反,你可以做一个while()foreach()或任何一个结果.