У меня есть таблица с ~ 200 миллионами строк и ~ 15 столбцами. Я планирую создать COLUMNSTORE
индекс на моей таблице.
Будут ли какие-либо изменения в производительности в зависимости от порядка столбцов, которые я использую в индексе columnstore? Если да, какая логика стоит за этим?
sql-server
database-design
sql-server-2012
index
columnstore
Винай Кумар Челла
источник
источник
Ответы:
Нет, порядок не имеет значения. Каждый столбец рассматривается индивидуально.
От команды SQL Server (выделение добавлено):
источник
порядок не имеет значения, что имеет значение, если вы должны включить ВСЕ столбцы из базовой таблицы в индекс columnstore - подробнее через мой предыдущий ответ на этот вопрос здесь
источник
В SQL Server 2012-2016 у вас есть концепция исключения сегментов ( http://social.technet.microsoft.com/wiki/contents/articles/5651.understanding-segment-elvention.aspx ), и вы на самом деле можете установить порядок по крайней мере, 1 столбец (плюс 1 дополнительный внутри каждого раздела).
Рассмотрим следующую статью, в которой объясняется загрузка данных для лучшего исключения сегментов: Загрузка данных для лучшего исключения сегментов
источник
Существует существующий отличный ответ Аарона из 2012 года, чтобы подробнее остановиться на этом ...
В SQL 2014+ доступны кластерные индексы columnstore. При создании кластерного индекса columnstore выбор столбцов или опций заказа недоступен. Описанные индексы Columnstore
источник