我刚刚在网上快速搜索,但找不到我想要的内容。
INNER JOIN 与常规 WHERE 语句相比有多高效?
我在PostgreSQL中有几个查询需要使用一些表(比如说四或五个)通过键/外键条件“链接”在一起。要实现这些查询,我使用 WHERE 子句来连接所有必需的表。
我想知道如果我用 INNER JOIN 子句(而不是WHERE子句)重写这些查询,是否会获得任何性能提升。
答案 0 :(得分:4)
我认为您的意思是以下查询之间的差异
select a.col1,b.col2 from table1 a, table2 b where a.id = b.id;
反
select a.col1,b.col2 from table1 a
join table2 b on a.id = b.id;
据我所知,两人都在做INNER JOIN
;只是上面的一个是旧样式,难以阅读,容易出错的隐式连接语法,下面是推荐的显式连接语法。
所以,我在这里看不出任何表现上的收益/损失;从任何一种方式来看,他们都在做同样的事情