patternsqlMinor
Postgresql join removal
Viewed 0 times
postgresqlremovaljoin
Problem
I just watched the very interesting video from Rob Farley "Designing for simplification" and I was wondering if the 4 rules given in the video for join removal also hold on PostgreSQL.
If a view is doing joins that don't:
will the joins be ignored for the queries that don't need them. Or is it a SQL Server thing only ?
If a view is doing joins that don't:
- add any columns
- eliminate rows
- duplicate rows
- introduce nulls
will the joins be ignored for the queries that don't need them. Or is it a SQL Server thing only ?
Solution
There is an example about this feature in the PostgreSQL "Whats new in 9.0". If the optimizier detects, that a join can not add any additional rows, it will be dropped. The PostgreSQL Feature does not remove joins from views if they are not needed because the requested columns are not selected.
Also, the feature is limited on
Also, the feature is limited on
LEFT JOINs right now ( version 9.4 ). This may change in future versions.Context
StackExchange Database Administrators Q#123896, answer score: 4
Revisions (0)
No revisions yet.