Что такое «ЗАКРЫТОЕ состояние» и «дельта-группа» - PullRequest
0 голосов
/ 27 марта 2019

В руководстве по созданию индексов columnstore есть параграф о параметре COMPRESSION_DELAY.

COMPRESSION_DELAY = 0 |delay [Минуты]

Для таблицы на основе диска delay указывает минимальное количество минут, в течение которых группа дельта-строк в состоянии CLOSED должна оставаться в группе дельта-строк, прежде чем SQL Server сможет сжать ее в сжатую группу строк.Поскольку дисковые таблицы не отслеживают время вставки и обновления отдельных строк, SQL Server применяет задержку к дельта-группам строк в состоянии ЗАКРЫТО.По умолчанию 0 минут.

Я не понимаю, что именно означают CLOSED state, rowgroup и delta rowgroup.Может ли кто-нибудь объяснить мне это?

1 Ответ

1 голос
/ 28 марта 2019

Формат columnstore SQL Server вертикально организован в группы строк (rowgroups). Данные могут быть в форме COMPRESSED или в BTree-s.

COMPRESSED группы строк являются неизменяемыми, а дополнительные структуры используются для отслеживания обновлений (удаление растровых изображений и т. Д.). Сжатые группы строк занимают меньше места, и агрегации могут выполняться на них быстрее, таким образом, ваша пропускная способность значительно увеличивается. Сжатая форма работает быстрее только над определенным числом строк, в противном случае вам лучше в формате rowstore - иначе. дельта магазины. Когда этот порог пройден, эти строки переносятся в сжатую форму на заднем плане.

Состояние

CLOSED означает, что эта группа строк достигла порогового значения для сжатия и ожидает сжатия. В эту группу строк не добавляются новые строки, однако удаление может привести к ее удалению. Если количество строк падает ниже минимального бара, группа строк может снова OPEN -едаться, поэтому она принимает новые входящие строки.

Для получения более подробной информации ознакомьтесь с официальной документацией , блогом Нико или блогом Ремуса .

...