sql – LEFT JOIN与多个SELECT语句

前端之家收集整理的这篇文章主要介绍了sql – LEFT JOIN与多个SELECT语句前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我正在研究别人的PHP代码,一遍又一遍地看到这种模式:

(伪代码)

result = SELECT blah1,blah2,foreign_key FROM foo WHERE key=bar

if foreign_key > 0  
  other_result = SELECT something FROM foo2 WHERE key=foreign_key  
end

如果另一个表中没有相关的行,代码需要分支,但是通过在单个SELECT语句中执行LEFT JOIN,这不能更好吗?我错过了一些性能优势吗?便携性问题?或者我只是在挑剔?

解决方法

没有足够的信息来真正回答这个问题.我曾致力于减少查询次数的应用程序,原因之一是由于其他原因而增加查询次数,这些都提高了性能.在同一个应用程序中!

对于表大小,数据库配置的某些组合以及查询外表的频率,执行这两个查询可能比LEFT JOIN快得多.但经验和测试是唯一可以告诉你的事情.具有中等大小的表的MysqL似乎是可以接受的,IME.在一个表上执行三个查询通常比一个查询加快三个查询要快得多.我已经看到了一个数量级的加速.

猜你在找的MsSQL相关文章