5 Nov 2014

PostgreSQL Explain Plan-Nodes Grid


While reading up about the various PostgreSQL EXPLAIN Plan nodes from multiple sources, I realized a clear lack of a consolidated grid / cheat-sheet, from which I could (in-one-view) cross-check how the plan nodes perform on a comparative basis. While at it, I also tried to attribute what their (good / bad) characteristics are.

Hope this (Work-In-Progress) lookup table helps others on the same path. Any additions / updates are more than welcome.

Update:
The image below is an old-snapshot of the document. The updated web document is available here.



2 comments:

Bruce Momjian said...

This is an interesting idea. I think you are wrong about nested loop being _only_ used for inequality joins --- it can also be used for joins of small tables, or if an index is available on the inner side.

Robins Tharakan said...

Thanks Bruce... (Partially) My bad.

On hindsight, renaming the column name may help in understanding it a tad better. May be should instead be named something like 'Exclusively Used By'?

The idea was that this column is for all SQL actions (in this case CROSS-JOIN / INEQUALITY JOINs) that can only use the row-item (NestLoop) and nothing else to perform the action.

Have updated the Web document to reflect the column-name, but any other suggestions are welcome.

(Further, the opposite idea to this column, is defined by the Used-Only-For that depicts what is the row-item 'only' used for. Probably the table wasn't clear which column is which).