【发布时间】:2013-12-31 03:48:12
【问题描述】:
考虑由 main_table_id 链接的两个表:
http://www.zigdigital.com.br/download/descartar/Diagrama1121220131414.jpg
我可以获取如下数据:
SELECT `main_table`.* , `second_table`.*
FROM `main_table`
JOIN `second_table`
ON (`main_table`.`main_table_id` = `second_table`.`main_table_id`)
WHERE `main_table`.`main_table_id` = ?
AND `second_table`.`main_table_id` ?
或者我可以使用两个查询来做同样的事情:
SELECT *
FROM `main_table`
WHERE `main_table_id` = ?
还有第二个查询:
SELECT *
FROM `second_table`
WHERE `main_table_id` = ?
对我来说,唯一的区别是我将在第一种情况下一次获取所有数据,在第二种情况下在两个不同的数组中获取数据。
但我的疑问是:在服务器性能方面,哪一种是最好的处理方式?
【问题讨论】:
-
简短回答,这取决于。 stackoverflow.com/questions/1067016/…
-
它确实取决于,但是 - 粗略估计 - 一次访问数据库将比 2 短。