Этот баннер — требование Роскомнадзора для исполнения 152 ФЗ.
«На сайте осуществляется обработка файлов cookie, необходимых для работы сайта, а также для анализа использования сайта и улучшения предоставляемых сервисов с использованием метрической программы Яндекс.Метрика. Продолжая использовать сайт, вы даёте согласие с использованием данных технологий».
Политика конфиденциальности
|
|
|
Вопрос по дефрагментации columnstore index?
|
|||
|---|---|---|---|
|
#18+
Есть следующая проблема: Вью sys.dm_db_column_store_row_group_physical_stats показывает 32% фрагментации одного колоночного индекса. Вычисляю это так: по группам: Код: sql 1. суммируя все группы: Код: sql 1. Я пытаюсь дефрагментировать его, как советует msdn,т.е.: сначала: Код: sql 1. потом его же, но без COMPRESS_ALL_ROW_GROUPS = ON Код: sql 1. с другими индексами это работало, а с этим нет. Фрагментация остается на том же уровне, в лучшем случае уменьшается на 2-3%, а с каждой неделей растет. Началось все с 20%, сейчас уже 35%. Вопрос к общественности, что не так делаю: вычисляю фракментацию не так, дефрагментирую не так, или вообще все? Спасибо! ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.03.2019, 16:44 |
|
||
|
Вопрос по дефрагментации columnstore index?
|
|||
|---|---|---|---|
|
#18+
... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.03.2019, 17:59 |
|
||
|
Вопрос по дефрагментации columnstore index?
|
|||
|---|---|---|---|
|
#18+
komrad, я этот линк уже читал раньше, большой разницы с мсдн не увидел. Да, забыл добавить: Microsoft SQL Server 2017 (RTM-GDR) (KB4293803) - 14.0.2002.14 (X64) Jul 21 2018 07:47:45 Copyright (C) 2017 Microsoft Corporation Enterprise Edition: Core-based Licensing (64-bit) on Windows Server 2016 Datacenter 10.0 <X64> (Build 14393: ) (Hypervisor) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.03.2019, 18:21 |
|
||
|
Вопрос по дефрагментации columnstore index?
|
|||
|---|---|---|---|
|
#18+
на скриншоте видно, что около половины групп (всего их 37) довольно сильно фрагментированы (сумарная фрагментация ~35 %). ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.03.2019, 18:28 |
|
||
|
Вопрос по дефрагментации columnstore index?
|
|||
|---|---|---|---|
|
#18+
senn, у вас на картинке у всех групп trim_reason = DICTIONARY_SIZE " Dictionary size grew too big to compress all of the rows together." попробуйте в качестве пробы сделать ALTER INDEX REBUILD ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.03.2019, 18:40 |
|
||
|
Вопрос по дефрагментации columnstore index?
|
|||
|---|---|---|---|
|
#18+
senn, в идеале в columnstore не должны производиться какие-либо изменения. Наименьшей проблемой является добавление записей, но, из обзоров следует, что дельта-записи могут снижать производительности и желательно перед использованием таблицы производить реорганизацию для перемещения дельты в основной массив данных. Т.е. для типового сценария использовать такие таблицы нежелательно. Более подходящий вариант - редкое и периодическое обновление, раз в неделю или месяц. Во избежание полного перестроения индекса придуман дельта-механизм, но злоупотреблять этим не следует. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.03.2019, 12:41 |
|
||
|
Вопрос по дефрагментации columnstore index?
|
|||
|---|---|---|---|
|
#18+
Владислав Колосовsenn, в идеале в columnstore не должны производиться какие-либо изменения. Наименьшей проблемой является добавление записей, но, из обзоров следует, что дельта-записи могут снижать производительности и желательно перед использованием таблицы производить реорганизацию для перемещения дельты в основной массив данных. Т.е. для типового сценария использовать такие таблицы нежелательно. Более подходящий вариант - редкое и периодическое обновление, раз в неделю или месяц. Во избежание полного перестроения индекса придуман дельта-механизм, но злоупотреблять этим не следует. в дельтастор записи попадают если их кол-во (insert batch size) меньше 102400 (минимальный размер row group) из доп. прелестей полное логирование и отсутствие компрессии (данные не сжаты) при удалении записей в дельтасторе, они реально удаляются, а не помечаются как удаленные в случае compressed row groups так что, если заливать данные, то порциями кратными 102400 или вообще по 1048576 записей https://docs.microsoft.com/en-us/sql/relational-databases/indexes/columnstore-indexes-data-loading-guidance If the batch size is >= 102400, the rows are directly into the compressed rowgroups. It is recommended that you choose a batch size >=102400 for efficient bulk import because you can avoid moving data rows to a delta rowgroups before the rows are eventually moved to compressed rowgroups by a background thread, Tuple mover (TM). If the batch size < 102,400 or if the remaining rows are < 102,400, the rows are loaded into delta rowgroups. дельта-механизм придуман для аккумулирования новых данных перед сжатием нет смысла жать 10-100 записей ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.03.2019, 13:28 |
|
||
|
Вопрос по дефрагментации columnstore index?
|
|||
|---|---|---|---|
|
#18+
komrad, полагаю, что основное применение колоночного индекса все же не сжатие, а быстрый расчет агрегированных значений. Для сжатия существуют и отдельные механизмы. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.03.2019, 16:37 |
|
||
|
Вопрос по дефрагментации columnstore index?
|
|||
|---|---|---|---|
|
#18+
komrad, Владислав Колосов спасибо большое! Есть на чем думать. Внутренний механизм columnstore, представляю очень приблизительно, поэтому оценить то, что показывает вью, кроме расчета фрагментации из мсдн, мне трудно. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.03.2019, 16:48 |
|
||
|
Вопрос по дефрагментации columnstore index?
|
|||
|---|---|---|---|
|
#18+
Владислав Колосовkomrad, полагаю, что основное применение колоночного индекса все же не сжатие, а быстрый расчет агрегированных значений. Для сжатия существуют и отдельные механизмы. сжатие есть один из механизмов достижения быстроты, так же как и "Batch mode execution" https://docs.microsoft.com/en-us/sql/relational-databases/indexes/columnstore-indexes-overview?view=sql-server-2017#benefits https://docs.microsoft.com/en-us/sql/relational-databases/indexes/columnstore-indexes-overview?view=sql-server-2017#when-should-i-use-a-columnstore-index ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.03.2019, 17:02 |
|
||
|
|

start [/forum/topic.php?fid=46&msg=39789211&tid=1688085]: |
0ms |
get settings: |
8ms |
get forum list: |
19ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
134ms |
get topic data: |
11ms |
get forum data: |
3ms |
get page messages: |
58ms |
get tp. blocked users: |
2ms |
| others: | 254ms |
| total: | 495ms |

| 0 / 0 |
