PostgreSQL - INNER JOIN vs WHERE,哪个会表现更好?

时间:2014-11-12 12:26:30

标签: postgresql join where database-performance

我刚刚在网上快速搜索,但找不到我想要的内容。

INNER JOIN 与常规 WHERE 语句相比有多高效?

我在PostgreSQL中有几个查询需要使用一些表(比如说四或五个)通过键/外键条件“链接”在一起。要实现这些查询,我使用 WHERE 子句来连接所有必需的表。

我想知道如果我用 INNER JOIN 子句(而不是WHERE子句)重写这些查询,是否会获得任何性能提升。

1 个答案:

答案 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;只是上面的一个是旧样式,难以阅读,容易出错的隐式连接语法,下面是推荐的显式连接语法。

所以,我在这里看不出任何表现上的收益/损失;从任何一种方式来看,他们都在做同样的事情