powered by simpleCommunicator - 2.0.51     © 2025 Programmizd 02
Форумы / Microsoft SQL Server [игнор отключен] [закрыт для гостей] / columnstore
7 сообщений из 7, страница 1 из 1
columnstore
    #40083468
t00
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
t00
Гость
Добрый день, коллеги! У меня у базы имеются columnstore индексы, каждый день добавляю новые запили или обновляю их путем удалением и записью новых данных (именно сначала удалю, а потом вставлю новые). Нужно мне каждый раз пересоздавать индексы или же их как то обновлять, что бы производительность не падала, до этого я не когда не использовал columnstore поэтому как правильно сделать ?
...
Рейтинг: 0 / 0
columnstore
    #40083474
SERG1257
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Начните сначала - на что жалуетесь? (Производительность обновления или запросов)
Можете измерить?

Далее поподробнее о вашей базе - версия сервера, колумнстор кластерный или нет, секционирован или нет.

Я знаю только один способ обслуживания кластерного колумнстора: у каждой роугруппы в каждом столбце хранится минимум и максимум значения, стало быть сервер может пропускать данную группу Rowgroup Elimination если она заведомо не удовлетворяет запросу.
К сожалению эта фишка зависит от физического расположения записей, перестройка индекса, удаление и пересоздание никак не помогают.
Помогает только превращение колумнстора в обычный роустор (без замечательной компрессии), построение кластерного индекса и превращение в колумнстор обратно. Для большой таблицы это требует много места для данных и логов и времени.
Поэтому гораздо лучше это проделывать для секций (партиций).
...
Рейтинг: 0 / 0
columnstore
    #40083560
Ролг Хупин
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
t00
Добрый день, коллеги! У меня у базы имеются columnstore индексы, каждый день добавляю новые запили или обновляю их путем удалением и записью новых данных (именно сначала удалю, а потом вставлю новые). Нужно мне каждый раз пересоздавать индексы или же их как то обновлять, что бы производительность не падала, до этого я не когда не использовал columnstore поэтому как правильно сделать ?


Вы пишете "до этого я не когда не использовал ", загадочная фраза. Формально получается, что вы все-таки использовали их, но опасаетесь в этом признаться?
...
Рейтинг: 0 / 0
columnstore
    #40083567
Фотография komrad
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
t00,

рекомендую ресурс Niko Neugebauer

https://www.nikoport.com/2013/07/05/clustered-columnstore-indexes-part-1-intro/
...
Рейтинг: 0 / 0
columnstore
    #40083611
Фотография a_voronin
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
t00
Добрый день, коллеги! У меня у базы имеются columnstore индексы, каждый день добавляю новые запили или обновляю их путем удалением и записью новых данных (именно сначала удалю, а потом вставлю новые). Нужно мне каждый раз пересоздавать индексы или же их как то обновлять, что бы производительность не падала, до этого я не когда не использовал columnstore поэтому как правильно сделать ?


Вопрос первый: какая версия ms sql?
Вопрос второй: а сколько строк?

1) Удалять индексы не надо при небольшом числе строк. Это стоит делать если меняется большой процент данных.
2) Сначала удалить, потом вставить -- это хуже чем обновить, особенно если меняется лишь часть полей
3) Если строк много, то лучше таблицу партиционировать (по какому принципу и сколько строк в партиции решить надо вам)

Колоночные индексы плохо обновляются при большом числе строк в партиции, но в 2016 это стало лучше
...
Рейтинг: 0 / 0
columnstore
    #40083659
Фотография komrad
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
a_voronin

2) Сначала удалить, потом вставить -- это хуже чем обновить, особенно если меняется лишь часть полей

чем хуже?
https://www.nikoport.com/2014/03/17/clustered-columnstore-indexes-part-28-update-vs-delete-insert/
...
Рейтинг: 0 / 0
columnstore
    #40084129
Фотография a_voronin
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
komrad
a_voronin

2) Сначала удалить, потом вставить -- это хуже чем обновить, особенно если меняется лишь часть полей

чем хуже?
https://www.nikoport.com/2014/03/17/clustered-columnstore-indexes-part-28-update-vs-delete-insert/


Специфический кейс -- обновление большей порции данных. Плюс у них delete + bulk insert , а не insert. И я бы попробовал повторить тот тест на 2016+ . Есть ещё обновление всей партиции, но тогда truncate partition / insert или insert / switch partition
...
Рейтинг: 0 / 0
7 сообщений из 7, страница 1 из 1
Форумы / Microsoft SQL Server [игнор отключен] [закрыт для гостей] / columnstore
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]