I recently had the opportunity to take an upper-year/graduate-level
course on DBMS internals at my university. While taking that course, I
wrote some notes on course material as a study aid. I thought that
perhaps some of the people on -hackers might find the notes somewhat
useful, so Bruce was kind enough to lend me some webspace to put them
up.
The PDF is here:
http://developer.postgresql.org/~momjian/dbms_notes_neil_conway.pdf
The LaTeX source is here:
http://developer.postgresql.org/~momjian/dbms_notes_neil_conway.tex
The notes cover:
- external sorting
- various algorithms required for query evaluation (nested loops
join, hash join, sort-merge join, aggregation via sorting,
aggregation via hashing, etc.)
- query optimization (System-R's algorithm)
- concurrency control
- crash recovery
Any improvements or additions to the docs would be very welcome (you
can send me manual corrections or patches against the LaTeX source).
-Neil
---------------------------(end of broadcast)---------------------------
TIP 9: the planner will ignore your desire to choose an index scan if your
joining column's datatypes do not match