Вопрос:
Я всегда удивлялся этому, но никогда не имел возможности исследовать его.
Какие алгоритмы используются в SQL? Естественно, вы ищете и сравниваете основные инструкции, какие алгоритмы поиска? Сортировка? и для других функций, таких как Join и т.д.
Я знаю, что нет четких ответов на эти вопросы, но идея состоит в том, чтобы собрать общее представление о том, какие методы использует SQL для выполнения своей работы.
Лучший ответ:
Я бы предложил вам получить копию SQL Server 2008 Internals от Delaney, Randal, Tripp и других. Отличная книга о внутренней работе SQL Server.
Ответ №1
Вы можете посмотреть блог Craig Freedman, в котором рассматриваются некоторые внутренние элементы SQL Server. Просто просмотрите интересные темы. Если бы я понял это правильно, он также написал некоторые главы для уже упомянутой серии книг “Внутренние серверы SQL Server”.
Следующие 3 ссылки проливают свет на то, как разные JOIN-алгоритмы работают внутри:
- Вложенная Loop Join
- Hash Join
- Merge Join
Ответ №2
Соединения выполняются тремя способами:
1. Вложенная петля
2. Хеш
3. Слияние
Узнайте больше об этих методах соединения здесь:
http://www.sqlservercentral.com/articles/Advanced+Querying/optimizerjoinmethods/1708/
Ответ №3
RDBMS состоит из нескольких элементов:
- Менеджер транзакций – управляет транзакциями, как видно из его имени:)
- Диспетчер физической памяти – управляет тем, как данные хранятся в базовой файловой системе.
- Парсер/планировщик запросов/исполнитель – это “пользовательский интерфейс” базы данных
Каждый из этих элементов необходим для любой СУБД и использует разные алгоритмы, чтобы заставить себя работать.
Если вы заинтересованы в работе с РСУБД, возьмите себе эту книгу: http://www.amazon.com/Database-Systems-Complete-Book-2nd/дп/0131873253/
Ответ №4
SQL – это надмножество реляционной алгебры. На базовом уровне вы можете ознакомиться с некоторыми.
Реляционная алгебра