Я работаю с базами данных в течение последних нескольких лет, и мне хотелось бы думать, что я достаточно компетентен с их использованием. Однако я недавно читал о Joel Закон утечек абстракций, и я понял, что хотя я могу написать запрос, чтобы получить почти все, что я хочу, из базы данных, я понятия не имею, как база данных фактически интерпретирует запрос. Кто-нибудь знает какие-либо хорошие статьи или книги, которые объясняют, как базы данных работают внутри страны?
Некоторые конкретные вещи, которые меня интересуют:
- Что делает база данных на самом деле, чтобы узнать, что соответствует выражению select?
- Как база данных интерпретирует соединение по-разному для запроса с несколькими операциями "where key1 = key2"?
- Как база данных хранит всю свою память?
- Как хранятся индексы?