Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / Microsoft SQL Server Новый топик    Ответить
 Вставка в партицированную таблицу проходит очень медленно по сравнению с обычной таблицей  [new]
Roust_m
Member

Откуда: Сидней
Сообщений: 1049
Добрый день,

Есть партицированная таблица, в которой 15000 партиций. Есть хранимка, которая в цикле вставляет порядка 20-30 записей (по одной) в эту таблицу в одну и ту же партицию. Занимает этот процесс несколько секунд. Если использую таблицу без партиций, то происходит все практически мгновенно. В чем может быть проблема?

Вот версия сиквела:
Microsoft SQL Azure (RTM) - 12.0.2000.8 Aug 27 2019 17:56:41 Copyright (C) 2019 Microsoft Corporation

Спасибо.
2 окт 19, 10:15    [21984572]     Ответить | Цитировать Сообщить модератору
 Re: Вставка в партицированную таблицу проходит очень медленно по сравнению с обычной таблицей  [new]
TaPaK
Member

Откуда: Kiev
Сообщений: 6612
Roust_m,

все не бесплатно, посмотрите план, там будет весело
2 окт 19, 10:16    [21984574]     Ответить | Цитировать Сообщить модератору
 Re: Вставка в партицированную таблицу проходит очень медленно по сравнению с обычной таблицей  [new]
Roust_m
Member

Откуда: Сидней
Сообщений: 1049
TaPaK
Roust_m,

все не бесплатно, посмотрите план, там будет весело


Но по идее-то вставка записи в маленькую партицию должна быть быстрее чем в огромную таблицу на десятки миллионов записей, разве нет?
2 окт 19, 10:17    [21984575]     Ответить | Цитировать Сообщить модератору
 Re: Вставка в партицированную таблицу проходит очень медленно по сравнению с обычной таблицей  [new]
msLex
Member

Откуда:
Сообщений: 6674
Roust_m
TaPaK
Roust_m,

все не бесплатно, посмотрите план, там будет весело


Но по идее-то вставка записи в маленькую партицию должна быть быстрее чем в огромную таблицу на десятки миллионов записей, разве нет?
за счёт чего?
2 окт 19, 10:18    [21984576]     Ответить | Цитировать Сообщить модератору
 Re: Вставка в партицированную таблицу проходит очень медленно по сравнению с обычной таблицей  [new]
TaPaK
Member

Откуда: Kiev
Сообщений: 6612
Roust_m
TaPaK
Roust_m,

все не бесплатно, посмотрите план, там будет весело


Но по идее-то вставка записи в маленькую партицию должна быть быстрее чем в огромную таблицу на десятки миллионов записей, разве нет?

странное утвержение, почему? надо ж понять в какую вставлять, ну и вообще вставлять в какую нибудь сферическую кучу на миллиарды без индексов и идентити всё равно не победить по скорости
2 окт 19, 10:19    [21984577]     Ответить | Цитировать Сообщить модератору
 Re: Вставка в партицированную таблицу проходит очень медленно по сравнению с обычной таблицей  [new]
Roust_m
Member

Откуда: Сидней
Сообщений: 1049
TaPaK
Roust_m
пропущено...


Но по идее-то вставка записи в маленькую партицию должна быть быстрее чем в огромную таблицу на десятки миллионов записей, разве нет?

странное утвержение, почему? надо ж понять в какую вставлять, ну и вообще вставлять в какую нибудь сферическую кучу на миллиарды без индексов и идентити всё равно не победить по скорости


Обе таблицы имеют айдентити и уникальный индекс по двум полям. Когда убираешь уникальный индес вставка в партицированную таблицу становится быстрой.

Если есть индекс партицированный (путем добавленияч туда ключа третьим столбцом) или не партицированный, то вставка идет медленно.
2 окт 19, 11:38    [21984675]     Ответить | Цитировать Сообщить модератору
 Re: Вставка в партицированную таблицу проходит очень медленно по сравнению с обычной таблицей  [new]
Yasha123
Member

Откуда:
Сообщений: 1553
ну привет,
если индекс есть, надо сортировать перед вставкой.
планы-то посмотрите при вставке с индексом и без
2 окт 19, 12:21    [21984730]     Ответить | Цитировать Сообщить модератору
 Re: Вставка в партицированную таблицу проходит очень медленно по сравнению с обычной таблицей  [new]
Владислав Колосов
Member

Откуда:
Сообщений: 6788
Roust_m,

смотрите на план запроса, возможно у вас идёт просмотр всех секций.
2 окт 19, 12:51    [21984760]     Ответить | Цитировать Сообщить модератору
 Re: Вставка в партицированную таблицу проходит очень медленно по сравнению с обычной таблицей  [new]
Roust_m
Member

Откуда: Сидней
Сообщений: 1049
Yasha123
ну привет,
если индекс есть, надо сортировать перед вставкой.
планы-то посмотрите при вставке с индексом и без


Вставка идет по одной записи и в одну и туже партициюю.
3 окт 19, 02:58    [21985493]     Ответить | Цитировать Сообщить модератору
 Re: Вставка в партицированную таблицу проходит очень медленно по сравнению с обычной таблицей  [new]
Критик
Member

Откуда: Москва / Калуга
Сообщений: 32231
Блог
Roust_m,

В обычной версии идет пересортировка в tempdb перед вставкой, скорее всего тут то же самое.
3 окт 19, 03:42    [21985503]     Ответить | Цитировать Сообщить модератору
 Re: Вставка в партицированную таблицу проходит очень медленно по сравнению с обычной таблицей  [new]
PizzaPizza
Member

Откуда:
Сообщений: 286
Roust_m
Yasha123
ну привет,
если индекс есть, надо сортировать перед вставкой.
планы-то посмотрите при вставке с индексом и без


Вставка идет по одной записи и в одну и туже партициюю.


Кластерный индекс есть? Вставляется все только в последнюю партицию?
3 окт 19, 05:12    [21985507]     Ответить | Цитировать Сообщить модератору
 Re: Вставка в партицированную таблицу проходит очень медленно по сравнению с обычной таблицей  [new]
Roust_m
Member

Откуда: Сидней
Сообщений: 1049
PizzaPizza,

Да, есть, он на id (IDENTITY) и pkey (ключ партицирования). Вставляться может в любую партицию, не только в последнюю
3 окт 19, 05:35    [21985509]     Ответить | Цитировать Сообщить модератору
 Re: Вставка в партицированную таблицу проходит очень медленно по сравнению с обычной таблицей  [new]
PizzaPizza
Member

Откуда:
Сообщений: 286
Roust_m
PizzaPizza,

Да, есть, он на id (IDENTITY) и pkey (ключ партицирования). Вставляться может в любую партицию, не только в последнюю


Вставляется в любую? То есть ваш кластерный Id не включен в секционный ключ? Надо мне перечитать про партиции, а то я запутался по моему.
3 окт 19, 06:31    [21985515]     Ответить | Цитировать Сообщить модератору
 Re: Вставка в партицированную таблицу проходит очень медленно по сравнению с обычной таблицей  [new]
a_voronin
Member

Откуда: Москва
Сообщений: 3961
Roust_m
Добрый день,

Есть партицированная таблица, в которой 15000 партиций. Есть хранимка, которая в цикле вставляет порядка 20-30 записей (по одной) в эту таблицу в одну и ту же партицию. Занимает этот процесс несколько секунд. Если использую таблицу без партиций, то происходит все практически мгновенно. В чем может быть проблема?

Вот версия сиквела:
Microsoft SQL Azure (RTM) - 12.0.2000.8 Aug 27 2019 17:56:41 Copyright (C) 2019 Microsoft Corporation

Спасибо.


А там колумнстор или нет? И сколько всего записей. При 15000 партициях будет сильный оверхед.
3 окт 19, 13:21    [21985825]     Ответить | Цитировать Сообщить модератору
 Re: Вставка в партицированную таблицу проходит очень медленно по сравнению с обычной таблицей  [new]
Гулин Федор
Member

Откуда: МИНСК
Сообщений: 1067
мне кажется что DDL таблицы помогло бы отвечающим
3 окт 19, 15:39    [21985969]     Ответить | Цитировать Сообщить модератору
 Re: Вставка в партицированную таблицу проходит очень медленно по сравнению с обычной таблицей  [new]
Yasha123
Member

Откуда:
Сообщений: 1553
планы бы помогли. но он не выкладывает
3 окт 19, 15:45    [21985981]     Ответить | Цитировать Сообщить модератору
Все форумы / Microsoft SQL Server Ответить