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