Hacker News new | ask | show | jobs
by slt2021 1276 days ago
1. oracle's query planner/optimizer is smarter and more efficient, especially with complex query. postgres for quite some time did not do well with nested, lateral queries with CTEs that include views - it's performance would randomly degrade on complex queries, which is rarer thing in oracle world.

CTE expression is an optimization fence in postgres, which is not the case in oracle.

2. oracle does not need vacuum, unlike postgres

3. postgres has problems with many concurrent connections, thats why you need workarounds like pgbouncer. Oracle doesnt need that.

And same picture with almost any other feature - it is sort of "works" in postgres - but with crutches/workarounds, while in Oracle - stuff just works out of the box.

You dont need to search and install some obscure opensource extension to get the thing you want working, like you do in postgres world. and then keep updating that extension with every new version, etc

2 comments

> CTE expression is an optimization fence in postgres, which is not the case in oracle.

generally not true since PG12

Just curious how you are certain of the better performance and behaviour of Oracle given that Oracle does not allow disclosing of benchmarks without prior consent from them?
> CTE is optimization fence in postgres, which is not the case in oracle
It has not been an optimization fence for three years now. I was one of the co-authors of the patch which fixed that.