В чем разница / отношение между экстентом и единицей распределения? - PullRequest
1 голос
/ 02 апреля 2012

Можете ли вы объяснить разницу или взаимосвязь между «экстентом» и «единицей распределения» в SQL?

Ответы [ 2 ]

5 голосов
/ 03 апреля 2012

Единица выделения - это просто набор страниц.Это может быть маленький (одна страница) или большой (много много страниц).Он содержит запись метаданных в sys.allocation_units.Он отслеживается цепочкой IAM .Наиболее распространенное использование единиц выделения - это 3 хорошо известные AU набора строк: IN_ROW_DATA, ROW_OVERFLOW и LOB_DATA.

Экстент - это любые 8 последовательных страниц, которые начинаются с идентификатора страницы, который делится на 8. SQL ServerIO выполняется с учетом степени: в идеале весь экстент считывается сразу, весь экстент записывается сразу.Это зависит от текущего состояния пула буферов, подробности см. Как это работает: презентация ввода-вывода SQL Server Боба Дорра .Экстенты обычно размещаются вместе, поэтому все страницы экстента принадлежат одной и той же единице размещения.Но поскольку это приведет к перераспределению для небольших таблиц, особый тип экстента - это так называемый «смешанный» экстент, в котором каждая страница может принадлежать отдельной единице размещения.Подробнее см. Внутри механизма хранения: GAM, SGAM, PFS и другие карты распределения .

Итак, как вы видите, понятия взаимосвязаны, но сильно отличаются.Возможно, вам следует немного объяснить, в чем заключается проблема, которую вы пытаетесь решить, или почему вы заинтересованы в этих понятиях, возможно, тогда мы сможем уточнить.

2 голосов
/ 02 апреля 2012

Каждый объект (будь то индекс или куча) имеет несколько разделов (1-15k). Каждый раздел может иметь три разных единицы выделения, HoBT (куча или b-дерево, также известное как хоббит), где хранятся ваши фактические данные. ALU LOB для типов объектов LOB, а также ALU SLOB для данных переполнения строк.

Страницы принадлежат определенной единице размещения. Все страницы относятся к определенной степени - группа из 8 страниц. Хотя отдельные страницы могут принадлежать разным единицам размещения, они всегда будут принадлежать одному и тому же объекту в одинаковом экстенте, в то время как смешанный экстент содержит страницы для разных объектов и потенциально разных единиц размещения.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...