3 ms·
This article was also discussed before: https://news.ycombinator.com/item?id=8449329 https://news.ycombinator.com/item?id=8449329 Pat Shaughnessy has 3 other s
by codehusker 10y ago
This article was also discussed before:
https://news.ycombinator.com/item?id=8449329 https://news.ycombinator.com/item?id=8449329
Pat Shaughnessy has 3 other similar articles about Postgres internals. He does a great job of combining high level explanations, visual aids, and gritty details.
Discovering the Computer Science Behind Postgres Indexes
http://patshaughnessy.net/2014/11/11/discovering-the-computer-science-behind-postgres-indexes http://patshaughnessy.net/2014/11/11/discovering-the-compute...
A Look at How Postgres Executes a Tiny Join
http://patshaughnessy.net/2015/11/24/a-look-at-how-postgres-executes-a-tiny-join http://patshaughnessy.net/2015/11/24/a-look-at-how-postgres-...
Is Your Postgres Query Starved for Memory?
http://patshaughnessy.net/2016/1/22/is-your-postgres-query-starved-for-memory http://patshaughnessy.net/2016/1/22/is-your-postgres-query-s...
- pat_shaughnessy 10y agoThanks everyone for the kind comments, and for taking the time to read this stuff :)
- monksy 10y agoI'm not going to read all of that right now. Buy you've earned yourself a subscriber.
- Animats 10y ago"How Postgres Executes a Tiny Join" covers a case you usually try to avoid - a join with no indices. For that it has to create temporary hash tables. If indices are available, the usual approach is to walk one index while searching the other. Or both tables may be sorted and merged. Or an unindexed table sorted while an indexed table is walked. The whole process is quite clever, and this is what SQL engines are really about.