Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Microsoft SQL Server [игнор отключен] [закрыт для гостей] / Дано: пустая таблица с columnstore index. Как ускорить вставку данных? / 21 сообщений из 21, страница 1 из 1
29.07.2019, 23:36
    #39842768
DaniilSeryi
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Дано: пустая таблица с columnstore index. Как ускорить вставку данных?
Дано: пустая таблица с columnstore index. Как ускорить вставку данных?
Вариант убить индекс, вставить данные в кучу, построить индекс заново не предлагать.
...
Рейтинг: 0 / 0
29.07.2019, 23:42
    #39842771
DaniilSeryi
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Дано: пустая таблица с columnstore index. Как ускорить вставку данных?
Уточнение: SQL Server 2016 Developer Edition, данные берутся из вьюхи.
...
Рейтинг: 0 / 0
30.07.2019, 00:24
    #39842780
Гавриленко Сергей Алексеевич
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Дано: пустая таблица с columnstore index. Как ускорить вставку данных?
И как вы выяснили, что проблема -- именно вставка?
...
Рейтинг: 0 / 0
30.07.2019, 09:01
    #39842827
uaggster
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Дано: пустая таблица с columnstore index. Как ускорить вставку данных?
Какую именно вставку? Массовую? По записи? Как вставляете? Что вставляете?
...
Рейтинг: 0 / 0
30.07.2019, 10:04
    #39842847
komrad
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Дано: пустая таблица с columnstore index. Как ускорить вставку данных?
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
30.07.2019, 23:39
    #39843205
DaniilSeryi
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Дано: пустая таблица с columnstore index. Как ускорить вставку данных?
uaggsterКакую именно вставку? Массовую? По записи? Как вставляете? Что вставляете?

Внутри процедуры несколько сот тысяч строк разом из табличного представления.
...
Рейтинг: 0 / 0
30.07.2019, 23:42
    #39843207
DaniilSeryi
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Дано: пустая таблица с columnstore index. Как ускорить вставку данных?
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
31.07.2019, 00:00
    #39843211
DaniilSeryi
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Дано: пустая таблица с columnstore index. Как ускорить вставку данных?
Вот здесь https://docs.microsoft.com/ru-ru/sql/relational-databases/indexes/columnstore-indexes-query-performance?view=sql-server-2016

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

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

Вы бы maxdop не крутили по каждому случаю, сервер сам разберётся.
...
Рейтинг: 0 / 0
31.07.2019, 06:48
    #39843238
alexeyvg
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Дано: пустая таблица с columnstore index. Как ускорить вставку данных?
DaniilSeryiПравильно ли я понимаю, что имеет смысл использовать в запросе на вставку в таблицу с кластеризованным columnstore индексом подсказки MAXDOP ?Имеет смысл использовать подсказку TABLOCK, что бы разрешить параллельную вставку.
А MAXDOP имеет смысл крутить, если вы сами ограничили на серверере параллелилизм - что бы одними вашими настройками компенсировать другие ваши настройки.
...
Рейтинг: 0 / 0
31.07.2019, 11:05
    #39843323
komrad
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Дано: пустая таблица с columnstore index. Как ускорить вставку данных?
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
31.07.2019, 12:30
    #39843402
DaniilSeryi
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Дано: пустая таблица с columnstore index. Как ускорить вставку данных?
alexeyvgDaniilSeryiПравильно ли я понимаю, что имеет смысл использовать в запросе на вставку в таблицу с кластеризованным columnstore индексом подсказки MAXDOP ?Имеет смысл использовать подсказку TABLOCK, что бы разрешить параллельную вставку.
А MAXDOP имеет смысл крутить, если вы сами ограничили на серверере параллелилизм - что бы одними вашими настройками компенсировать другие ваши настройки.

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

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

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


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


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

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

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


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

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

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


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

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

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

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


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