查询1号
select
table2.someClmn,table1.name,table1.address
from
table1 cross join table2
where table1.id = 123
查询2号
select
(select someClmn from table2),table1.name,table1.address
from table1
where table1.id = 123
两个查询都会返回完全相同的结果,因此最好使用?
注意:在我的情况下,table2
仅包含单行
答案 0 :(得分:2)
根据解释输出和table2
只包含一行的特殊情况因素,我希望第二个计划更快。
避免嵌套循环将是一个重大胜利。
请注意,如果子查询是带有WHERE子句的正常相关子查询,而不是这个单行不相关的子查询,那么事情会有所不同。这两个查询可能会产生相同的计划。
答案 1 :(得分:0)
我建议您使用您(和其他人)可以阅读和理解的查询,因为不应该有太多的性能问题。