powered by simpleCommunicator - 2.0.60     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Microsoft SQL Server [игнор отключен] [закрыт для гостей] / Дано: пустая таблица с columnstore index. Как ускорить вставку данных?
21 сообщений из 21, страница 1 из 1
Дано: пустая таблица с columnstore index. Как ускорить вставку данных?
    #39842768
DaniilSeryi
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Дано: пустая таблица с columnstore index. Как ускорить вставку данных?
Вариант убить индекс, вставить данные в кучу, построить индекс заново не предлагать.
...
Рейтинг: 0 / 0
Дано: пустая таблица с columnstore index. Как ускорить вставку данных?
    #39842771
DaniilSeryi
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Уточнение: SQL Server 2016 Developer Edition, данные берутся из вьюхи.
...
Рейтинг: 0 / 0
Дано: пустая таблица с columnstore index. Как ускорить вставку данных?
    #39842780
Гавриленко Сергей Алексеевич
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
И как вы выяснили, что проблема -- именно вставка?
...
Рейтинг: 0 / 0
Дано: пустая таблица с columnstore index. Как ускорить вставку данных?
    #39842827
uaggster
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Какую именно вставку? Массовую? По записи? Как вставляете? Что вставляете?
...
Рейтинг: 0 / 0
Дано: пустая таблица с columnstore index. Как ускорить вставку данных?
    #39842847
Фотография komrad
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
DaniilSeryiДано: пустая таблица с columnstore index. Как ускорить вставку данных?
Вариант убить индекс, вставить данные в кучу, построить индекс заново не предлагать.
доки уже читали?
https://docs.microsoft.com/en-us/sql/relational-databases/indexes/columnstore-indexes-data-loading-guidance

вот еще
http://henkvandervalk.com/data-loading-into-a-clustered-columnstore-index
...
Рейтинг: 0 / 0
Дано: пустая таблица с columnstore index. Как ускорить вставку данных?
    #39843205
DaniilSeryi
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
uaggsterКакую именно вставку? Массовую? По записи? Как вставляете? Что вставляете?

Внутри процедуры несколько сот тысяч строк разом из табличного представления.
...
Рейтинг: 0 / 0
Дано: пустая таблица с columnstore index. Как ускорить вставку данных?
    #39843207
DaniilSeryi
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
komradDaniilSeryiДано: пустая таблица с columnstore index. Как ускорить вставку данных?
Вариант убить индекс, вставить данные в кучу, построить индекс заново не предлагать.
доки уже читали?
https://docs.microsoft.com/en-us/sql/relational-databases/indexes/columnstore-indexes-data-loading-guidance

вот еще
http://henkvandervalk.com/data-loading-into-a-clustered-columnstore-index

Ещё нет, завтра почитаю.

Первая ссылка
https://docs.microsoft.com/en-us/sql/relational-databases/indexes/columnstore-indexes-data-loading-guidance
в переводе на русский
https://docs.microsoft.com/ru-ru/sql/relational-databases/indexes/columnstore-indexes-data-loading-guidance?view=sql-server-2016
аналогична по содержанию?
...
Рейтинг: 0 / 0
Дано: пустая таблица с columnstore index. Как ускорить вставку данных?
    #39843211
DaniilSeryi
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Вот здесь https://docs.microsoft.com/ru-ru/sql/relational-databases/indexes/columnstore-indexes-query-performance?view=sql-server-2016

встретил фразу "Создание индекса columnstore по умолчанию является параллельно выполняемой операцией, если ресурсы памяти неограниченны."

Правильно ли я понимаю, что имеет смысл использовать в запросе на вставку в таблицу с кластеризованным columnstore индексом подсказки MAXDOP ?
...
Рейтинг: 0 / 0
Дано: пустая таблица с columnstore index. Как ускорить вставку данных?
    #39843218
Гавриленко Сергей Алексеевич
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
DaniilSeryiВнутри процедуры несколько сот тысяч строк разом из табличного представления.Вы попробуйте тогда вставлять из нетабличного представления.
DaniilSeryiаналогична по содержанию?Обратитесь к филологу, чтобы он сделал экспертизу.
DaniilSeryiвстретил фразуВы "создание" от "вставки данных" вообще не отличаете?
...
Рейтинг: 0 / 0
Дано: пустая таблица с columnstore index. Как ускорить вставку данных?
    #39843222
Фотография alexeyvg
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
DaniilSeryiаналогична по содержанию?В смысле, правильно ли сделан перевод?
Ктож будет проверять...
...
Рейтинг: 0 / 0
Дано: пустая таблица с columnstore index. Как ускорить вставку данных?
    #39843225
Владислав Колосов
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
DaniilSeryi,

Вы бы maxdop не крутили по каждому случаю, сервер сам разберётся.
...
Рейтинг: 0 / 0
Дано: пустая таблица с columnstore index. Как ускорить вставку данных?
    #39843238
Фотография alexeyvg
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
DaniilSeryiПравильно ли я понимаю, что имеет смысл использовать в запросе на вставку в таблицу с кластеризованным columnstore индексом подсказки MAXDOP ?Имеет смысл использовать подсказку TABLOCK, что бы разрешить параллельную вставку.
А MAXDOP имеет смысл крутить, если вы сами ограничили на серверере параллелилизм - что бы одними вашими настройками компенсировать другие ваши настройки.
...
Рейтинг: 0 / 0
Дано: пустая таблица с columnstore index. Как ускорить вставку данных?
    #39843323
Фотография komrad
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
DaniilSeryiПервая ссылка
https://docs.microsoft.com/en-us/sql/relational-databases/indexes/columnstore-indexes-data-loading-guidance
в переводе на русский
https://docs.microsoft.com/ru-ru/sql/relational-databases/indexes/columnstore-indexes-data-loading-guidance?view=sql-server-2016
аналогична по содержанию?
ну, можно сохранить оригинальный текст в файлы и сделалать file compare
после этого найти разницу в исходных текстах и внести поправку на "особенности" перевода

вообще говоря, данная тема хорошо разжевана в интернете, с подробными графиками и сценариями использования

как минимум, для быстрой вставки необходимо хотя бы в delta store не попадать, а это размеры батчей от 104к до 1млн
...
Рейтинг: 0 / 0
Дано: пустая таблица с columnstore index. Как ускорить вставку данных?
    #39843402
DaniilSeryi
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
alexeyvgDaniilSeryiПравильно ли я понимаю, что имеет смысл использовать в запросе на вставку в таблицу с кластеризованным columnstore индексом подсказки MAXDOP ?Имеет смысл использовать подсказку TABLOCK, что бы разрешить параллельную вставку.
А MAXDOP имеет смысл крутить, если вы сами ограничили на серверере параллелилизм - что бы одними вашими настройками компенсировать другие ваши настройки.

Благодарю. В общем, в моём случае использование TABLOCK снижает стоимость вставки из промежуточной таблицы в columnstore в 7 раз примерно, но так как стоимость даже неускоренной вставки составляет всего 2% от всего пакета запросов (транкейт / заполнение промежуточной таблицы / заполнение columnstore / удаление промежуточной таблицы)...

И моя благодарность всем ответившим - с введением промежуточной временной таблицы есть существенное повышение скорости, что и требовалось. Осталось перенести на прод и проверить там.
...
Рейтинг: 0 / 0
Дано: пустая таблица с columnstore index. Как ускорить вставку данных?
    #39843552
DaniilSeryi
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
В продолжении темы: Вставка строк ввода во временную таблицу жрёт больше половины времени - больше, чем выполнение табличного представления и вставка данных в кластерный индекс вместе взятые.

Как ускорить?
...
Рейтинг: 0 / 0
Дано: пустая таблица с columnstore index. Как ускорить вставку данных?
    #39843564
Фотография komrad
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
DaniilSeryiКак ускорить?
посмотреть ожидания по сессии, сделать выводы


что из себя представляет "временная таблица" ?
это #таблица или моябаза..временная_таблица ?
...
Рейтинг: 0 / 0
Дано: пустая таблица с columnstore index. Как ускорить вставку данных?
    #39843585
DaniilSeryi
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
komradDaniilSeryiКак ускорить?
посмотреть ожидания по сессии, сделать выводы


что из себя представляет "временная таблица" ?
это #таблица или моябаза..временная_таблица ?

#таблица
...
Рейтинг: 0 / 0
Дано: пустая таблица с columnstore index. Как ускорить вставку данных?
    #39843623
Фотография komrad
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
DaniilSeryikomradпропущено...

посмотреть ожидания по сессии, сделать выводы


что из себя представляет "временная таблица" ?
это #таблица или моябаза..временная_таблица ?

#таблица
это должен быть самый быстрый вариант
может база нагружена или сконфигурирована неоптимально (кол-во файлов, IFI, лежит на том же диске где и пользовательская бд?)

как заливаются записи? по одной или батчами?


"Вставка строк ввода во временную таблицу жрёт больше половины времени"
а вставка в моябаза..временная_таблица быстрей?

покажите
Код: sql
1.
select @@version 
...
Рейтинг: 0 / 0
Дано: пустая таблица с columnstore index. Как ускорить вставку данных?
    #39843627
Гавриленко Сергей Алексеевич
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Покажите уже код и план выполнения вместо ваших увлекательных историй.
...
Рейтинг: 0 / 0
Дано: пустая таблица с columnstore index. Как ускорить вставку данных?
    #39843679
Фотография SomewhereSomehow
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Если вы хотите познать дзен загрузки в колоночные индексы, рекомендую сессию одного из самых хороших специалистов по сиквелу Joe Obbish-а: https://www.sqlsaturday.com/825/Sessions/Schedule.aspx
Там найдите его сессию: Improving Columnstore Load Scalability on Large Servers и скачайте презентацию.

Начинается с рассмотрения разных стратегий а потом постепенные улучшения, включая объяснения причин на очень глубоком уровне, почему так, короче очень полезно, почитайте. Читать надо после того как прочитана и понята вся документация, чтобы понимать о чем речь.
...
Рейтинг: 0 / 0
Дано: пустая таблица с columnstore index. Как ускорить вставку данных?
    #39843685
Фотография alexeyvg
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
komradDaniilSeryi #таблица
это должен быть самый быстрый вариантМожет, там таблица с кучей индексов, а вставка делается в одном потоке по одной записи из приложения?

DaniilSeryi нужно всё таки, как неоднократно говорили, задавать вопросы чуть более конкретно. Показать код, планы, статистики и т.д.
...
Рейтинг: 0 / 0
21 сообщений из 21, страница 1 из 1
Форумы / Microsoft SQL Server [игнор отключен] [закрыт для гостей] / Дано: пустая таблица с columnstore index. Как ускорить вставку данных?
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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