1
我使用的是Postgres 9.6。我有两个表,story
和slide
:slide
有一个外键story
。最好在JOIN之前或之后提取字段?
有没有一个标准间在性能方面有什么区别JOIN这样的查询:
SELECT story.*, slide.name, slide.story_id
FROM story
JOIN slide ON story.id=slide.story_id
WHERE slide.index=0;
而且这样的子查询,其提取的利益至上的领域,然后才加入他们:
SELECT story.*, slide.name, slide.story_id
FROM story
JOIN (SELECT * FROM slide WHERE index=0) slide
ON story.id=slide.story_id;
我一直在寻找EXECUTION ANALYSE
的输出,它看起来像两个具有完全相同的执行计划。
如果在性能方面没有差异,那么在风格上是否更好?
版本1更好 - 风格化! – jarlh
我不认为有性能差异。我更喜欢第一个版本。我只是建议避免使用SELECT *。而是使用列名称列表。 – etsa