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

Откуда: Подмосковье
Сообщений: 294
Посмотрел, в процессе создания кластерного индекса (после его удаления) инструкцией

ALTER TABLE [dbo.TableName] ADD CONSTRAINT [PK] PRIMARY KEY CLUSTERED (...) ... 


выполняется такая команда

insert [dbo].[TableName] select * from [dbo].[TableName] option (maxdop 1)


Можно ли как-то вмешаться в её maxdop, увеличив его с 1 до ... , если обстановка на сервере позволяет?
30 ноя 18, 13:47    [21749940]     Ответить | Цитировать Сообщить модератору
 Re: Ускорить пересоздание кластерного индекса  [new]
Гавриленко Сергей Алексеевич
Member

Откуда: Moscow
Сообщений: 35833
ALTER TABLE [dbo.TableName] ADD CONSTRAINT [PK] PRIMARY KEY CLUSTERED (...) ... with ( maxdop = N )
30 ноя 18, 13:50    [21749945]     Ответить | Цитировать Сообщить модератору
 Re: Ускорить пересоздание кластерного индекса  [new]
AR®
Member

Откуда: Подмосковье
Сообщений: 294
Не помогло.
Полный список опция таков:
WITH (PAD_INDEX  = OFF, STATISTICS_NORECOMPUTE  = OFF, SORT_IN_TEMPDB = OFF, IGNORE_DUP_KEY = OFF, ONLINE = OFF, ALLOW_ROW_LOCKS  = ON, ALLOW_PAGE_LOCKS  = ON, maxdop = 70)


Странно: подчёркивает "maxdop = 70" красным как ошибочное, но выполняет и... не распараллеливает.
30 ноя 18, 14:02    [21749965]     Ответить | Цитировать Сообщить модератору
 Re: Ускорить пересоздание кластерного индекса  [new]
AR®
Member

Откуда: Подмосковье
Сообщений: 294
То есть, при выполнении осталось как и было:
insert [dbo].[TableName] select * from [dbo].[TableName] option (maxdop 1)
30 ноя 18, 14:04    [21749969]     Ответить | Цитировать Сообщить модератору
 Re: Ускорить пересоздание кластерного индекса  [new]
Владислав Колосов
Member

Откуда:
Сообщений: 5977
AR®,

как maxdop даст улучшение скорости при вставке?
30 ноя 18, 14:05    [21749973]     Ответить | Цитировать Сообщить модератору
 Re: Ускорить пересоздание кластерного индекса  [new]
Владислав Колосов
Member

Откуда:
Сообщений: 5977
Гавриленко Сергей Алексеевич,

разве там нужен знак равенства?
30 ноя 18, 14:06    [21749975]     Ответить | Цитировать Сообщить модератору
 Re: Ускорить пересоздание кластерного индекса  [new]
Гавриленко Сергей Алексеевич
Member

Откуда: Moscow
Сообщений: 35833
Владислав Колосов
Гавриленко Сергей Алексеевич,

разве там нужен знак равенства?
Может и не нужен.

Владислав Колосов
как maxdop даст улучшение скорости при вставке?
Создание индекса -- это не только вставка, но еще и чтение с сортировкой.
30 ноя 18, 14:08    [21749982]     Ответить | Цитировать Сообщить модератору
 Re: Ускорить пересоздание кластерного индекса  [new]
Yasha123
Member

Откуда:
Сообщений: 1148
Владислав Колосов
AR®,

как maxdop даст улучшение скорости при вставке?

хинт на всю инструкцию, а селект параллелится.
и никакой знак равенства в хинте, разумеется, не нужен
30 ноя 18, 14:10    [21749985]     Ответить | Цитировать Сообщить модератору
 Re: Ускорить пересоздание кластерного индекса  [new]
AR®
Member

Откуда: Подмосковье
Сообщений: 294
В select в option (maxdop 1) знак "=" действительно не используется.
А во with без него ошибка, а с ним работает, но - без распараллеливания.
30 ноя 18, 14:14    [21750000]     Ответить | Цитировать Сообщить модератору
 Re: Ускорить пересоздание кластерного индекса  [new]
Владислав Колосов
Member

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

да, распараллелится, но потом застрянет в бутылочном горлышке. Профита ноль целых, ноль десятых.
30 ноя 18, 14:16    [21750003]     Ответить | Цитировать Сообщить модератору
 Re: Ускорить пересоздание кластерного индекса  [new]
AR®
Member

Откуда: Подмосковье
Сообщений: 294
Владислав Колосов
Профита ноль целых, ноль десятых.


Известны ли Вам другие средства?
30 ноя 18, 14:19    [21750012]     Ответить | Цитировать Сообщить модератору
 Re: Ускорить пересоздание кластерного индекса  [new]
Гавриленко Сергей Алексеевич
Member

Откуда: Moscow
Сообщений: 35833
Владислав Колосов
Yasha123,

да, распараллелится, но потом застрянет в бутылочном горлышке. Профита ноль целых, ноль десятых.
Откуда вы знаете? Может он на стопятьст SSD-дисков индекс льет.
30 ноя 18, 14:19    [21750014]     Ответить | Цитировать Сообщить модератору
 Re: Ускорить пересоздание кластерного индекса  [new]
архивариус
Member

Откуда:
Сообщений: 122
AR®
Не помогло.
Странно: подчёркивает "maxdop = 70" красным как ошибочное, но выполняет и... не распараллеливает.

а цифра 70 для maxdop только меня удивила?
30 ноя 18, 15:08    [21750115]     Ответить | Цитировать Сообщить модератору
 Re: Ускорить пересоздание кластерного индекса  [new]
msLex
Member

Откуда:
Сообщений: 5682
Владислав Колосов
AR®,

как maxdop даст улучшение скорости при вставке?

Так, что дисковая подсистема вполне может работать быстрее чем все прочие операции в один поток.
И для этого совсем не обязательно иметь огромные полки c SSD.
30 ноя 18, 15:16    [21750128]     Ответить | Цитировать Сообщить модератору
 Re: Ускорить пересоздание кластерного индекса  [new]
Massa52
Member

Откуда:
Сообщений: 320
архивариус,
Нет не только, сервер тоже обалдел и отказался параллелить :)
30 ноя 18, 15:17    [21750132]     Ответить | Цитировать Сообщить модератору
 Re: Ускорить пересоздание кластерного индекса  [new]
AR®
Member

Откуда: Подмосковье
Сообщений: 294
архивариус
а цифра 70 для maxdop только меня удивила?


А что удивительного? Написал же сразу, что обстановка позволяет.
Это пока сервер в монопольном распоряжении для проведения работ.
При обычном повседневном использовании maxdop 70 - это, конечно, некоторый избыток оптимизма.
30 ноя 18, 15:27    [21750158]     Ответить | Цитировать Сообщить модератору
 Re: Ускорить пересоздание кластерного индекса  [new]
TaPaK
Member

Откуда: Kiev
Сообщений: 5671
AR®
архивариус
а цифра 70 для maxdop только меня удивила?


А что удивительного? Написал же сразу, что обстановка позволяет.
Это пока сервер в монопольном распоряжении для проведения работ.
При обычном повседневном использовании maxdop 70 - это, конечно, некоторый избыток оптимизма.

богатые люди...
30 ноя 18, 15:29    [21750166]     Ответить | Цитировать Сообщить модератору
 Re: Ускорить пересоздание кластерного индекса  [new]
alexeyvg
Member

Откуда: Moscow
Сообщений: 27428
AR®
архивариус
а цифра 70 для maxdop только меня удивила?


А что удивительного? Написал же сразу, что обстановка позволяет.
Это пока сервер в монопольном распоряжении для проведения работ.
При обычном повседневном использовании maxdop 70 - это, конечно, некоторый избыток оптимизма.
70 ядер для перестроения индекса - это сильно. Сколько же там всего? Хотя сейчас у одного сокета бывает по 32 ядра, 64 потока...
И система хранения должна соответствовать, а то не имеет смысла.
30 ноя 18, 15:31    [21750173]     Ответить | Цитировать Сообщить модератору
 Re: Ускорить пересоздание кластерного индекса  [new]
alexeyvg
Member

Откуда: Moscow
Сообщений: 27428
TaPaK
AR®
пропущено...


А что удивительного? Написал же сразу, что обстановка позволяет.
Это пока сервер в монопольном распоряжении для проведения работ.
При обычном повседневном использовании maxdop 70 - это, конечно, некоторый избыток оптимизма.

богатые люди...
Угу, 70 ядер да по $20 000 на ядро лицензия на сиквел... Так можно и DBA 5 тыр накинуть... :-)
30 ноя 18, 15:33    [21750179]     Ответить | Цитировать Сообщить модератору
 Re: Ускорить пересоздание кластерного индекса  [new]
alexeyvg
Member

Откуда: Moscow
Сообщений: 27428
alexeyvg
Угу, 70 ядер да по $20 000 на ядро лицензия на сиквел...
Ой, нет, по 5К, перепутал с сокетом
30 ноя 18, 15:33    [21750182]     Ответить | Цитировать Сообщить модератору
 Re: Ускорить пересоздание кластерного индекса  [new]
AR®
Member

Откуда: Подмосковье
Сообщений: 294
alexeyvg
70 ядер для перестроения индекса - это сильно


Жаль только, что задействовать их не получается.
А без распараллеливания - не менее 10 часов работы, поэтому и задумался...
30 ноя 18, 15:36    [21750187]     Ответить | Цитировать Сообщить модератору
 Re: Ускорить пересоздание кластерного индекса  [new]
Гавриленко Сергей Алексеевич
Member

Откуда: Moscow
Сообщений: 35833
В документации написано, что для параллельного создания индекса надо указывать значение от 2 до 64.

И еще написано, что "Parallel index operations are not available in every SQL Server edition. For more information, see Features Supported by the Editions of SQL Server 2016"
30 ноя 18, 15:43    [21750202]     Ответить | Цитировать Сообщить модератору
 Re: Ускорить пересоздание кластерного индекса  [new]
архивариус
Member

Откуда:
Сообщений: 122
AR®
архивариус
а цифра 70 для maxdop только меня удивила?

А что удивительного? Написал же сразу, что обстановка позволяет.
Это пока сервер в монопольном распоряжении для проведения работ.
При обычном повседневном использовании maxdop 70 - это, конечно, некоторый избыток оптимизма.

Меня терзают смутные сомнения что лучше все же начинать с числа равного количеству физических ядер в одном сокете (или numa узле), а таких интел еще не завозил?
30 ноя 18, 15:47    [21750211]     Ответить | Цитировать Сообщить модератору
 Re: Ускорить пересоздание кластерного индекса  [new]
архивариус
Member

Откуда:
Сообщений: 122
maxdop 0 еще попробуйте раз тестите, узнаем сколько SQL сам решит выделить ядер.
30 ноя 18, 15:54    [21750239]     Ответить | Цитировать Сообщить модератору
 Re: Ускорить пересоздание кластерного индекса  [new]
TaPaK
Member

Откуда: Kiev
Сообщений: 5671
архивариус
maxdop 0 еще попробуйте раз тестите, узнаем сколько SQL сам решит выделить ядер.

Сервер сам(по усолчанию) не хочит параллелить индексацию, при этом сразу получаете фрагментацию индекса.
30 ноя 18, 15:56    [21750242]     Ответить | Цитировать Сообщить модератору
Топик располагается на нескольких страницах: [1] 2   вперед  Ctrl      все
Все форумы / Microsoft SQL Server Ответить