2010-11-12 4 views
17

Ive всегда удивлялся этому, но никогда не имел возможности исследовать его.Какие алгоритмы используют SQL?

Какие алгоритмы используются в SQL? Естественно, вы ищете и сравниваете основные инструкции, какие алгоритмы поиска? Сортировка? и для других функций, таких как Join и т. д.

Я знаю, что нет четких ответов на эти вопросы, но идея состоит в том, чтобы собрать общее представление о том, какие методы использует SQL для выполнения своей работы.

+0

субъективный и аргументированный – Svisstack

+7

Я не вижу, как это субъективно или аргументировано. Если разные импликации базы данных не являются субъективными (например, алгоритм сортировки в MS SQL vs MySql) – Prescott

+1

Я думаю, что этот вопрос «не может быть разумно отреагирован в его текущей форме», так как для ответа на него потребуется очень большая книга. –

ответ

8

Я предлагаю вам получить копию SQL Server 2008 Internals от Delaney, Randal, Tripp и других. Отличная книга о внутренней работе SQL Server.

http://www.amazon.com/Microsoft-SQL-Server-2008-Internals/dp/0735626243/ref=sr_1_1?s=books&ie=UTF8&qid=1289565465&sr=1-1

+0

Прикомандировано! Здесь обсуждаются алгортам –

+0

Хорошее предложение, но на самом деле не ответ. – MAK

1

РСУБД состоит из нескольких элементов: менеджер

  • Transaction - управляет транзакциями, как видно из его имя :)
  • физического менеджера хранения - управляет, как данные хранятся в файле подстилающей -система (-ы)
  • Анализатор/планировщик/исполнитель запросов - это «пользовательский интерфейс» базы данных

Каждый из этих элементов необходим для любой СУБД и использует различные алгоритмы, чтобы заставить себя работать.

Если вы заинтересованы в внутренностей РСУБД, получить себе эту книгу: http://www.amazon.com/Database-Systems-Complete-Book-2nd/dp/0131873253/

3

Вы можете посмотреть на Craig Freedman's blog, который обсуждает некоторые внутренние SQL Server может. Просто просмотрите интересные темы. Если бы я понял это правильно, он также написал некоторую главу для уже упомянутой серии книг «Внутренние серверы SQL Server».

Следующие 3 ссылки пролить некоторый свет на то, как различные РЕГИСТРИРУЙТЕСЬ алгоритмы работы внутри:

1

SQL является надстройкой реляционной алгебры. На базовом уровне вы можете ознакомиться с некоторыми. Relational Algebra

+1

SQL, возможно, * почти * надмножество реляционной алгебры. Другими словами, это не так. Конечно, SQL содержит множество нереляционных материалов: дубликаты строк, дубликаты имен столбцов, нули. Он не имеет простых эквивалентов всех реляционных операторов и дает некоторые странные и непоследовательные результаты (например, если сумма пустого множества равна нулю, а не нулю). Поэтому требуется некоторое количество неопределенности, предположения и аппроксимации, чтобы рассматривать SQL как реляционную. Даже тогда невозможно выразить отношения нулевой степени (DUM и DEE) в SQL. – sqlvogel

Смежные вопросы