我对"两个或多个单独的SQL命令"或"1但使用'join'SQL命令"的性能存在疑问.
这是事情:
例如,我有两个表:post,user
post 有一个user_id表示该帖子是由某个用户发布的 user
我要提取帖子和用户名.
我也可以
SELECT * FROM `post` LEFT JOIN `user` on post.user_id = user.id WHERE 1
要么
$rows = $db->sql("SELEFT * FROM `post` WHERE 1")
for $row in $rows:
$db->sql("SELECT * FROM `user` WHERE id = $row['user_id']")
我想知道哪一个会有更好的表现?
如果我有3个或更多表加入,哪种方式会更好(从性能角度来看)怎么办?
连接几乎总是更好的性能.即使它检索的数据"很大",您仍然只执行单个查询.
这就像买杂货.更容易驾驶到商店ONCE,填满购物车,回家与许多不同的项目,而不是去商店,买一件东西,回家,再去商店,买另一个.
每次旅行加起来,你最终会花更多的时间开车而不是享受你的杂货.