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

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

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

Откуда: Подмосковье
Сообщений: 330
Не помогло.
Полный список опция таков:
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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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


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

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

да, распараллелится, но потом застрянет в бутылочном горлышке. Профита ноль целых, ноль десятых.
Откуда вы знаете? Может он на стопятьст SSD-дисков индекс льет.

Сообщение было отредактировано: 30 ноя 18, 14:20
30 ноя 18, 14:19    [21750014]     Ответить | Цитировать Сообщить модератору
 Re: Ускорить пересоздание кластерного индекса  [new]
архивариус
Member

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

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

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

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

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

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

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


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

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


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

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

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


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

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


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

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

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

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


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

Откуда: Moscow
Сообщений: 36691
В документации написано, что для параллельного создания индекса надо указывать значение от 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:44
30 ноя 18, 15:43    [21750202]     Ответить | Цитировать Сообщить модератору
 Re: Ускорить пересоздание кластерного индекса  [new]
архивариус
Member

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

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

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

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

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

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