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

Откуда: Подмосковье
Сообщений: 294
Любое значение maxdop=... игнорируется, включая = 0.
У нас 2008R2 - он ещё не знает этого?
30 ноя 18, 16:05    [21750274]     Ответить | Цитировать Сообщить модератору
 Re: Ускорить пересоздание кластерного индекса  [new]
TaPaK
Member

Откуда: Kiev
Сообщений: 5671
AR®
Любое значение maxdop=... игнорируется, включая = 0.
У нас 2008R2 - он ещё не знает этого?

смотря какой
https://msdn.microsoft.com/it-it/library/cc645993(v=sql.105).aspx
30 ноя 18, 16:09    [21750283]     Ответить | Цитировать Сообщить модератору
 Re: Ускорить пересоздание кластерного индекса  [new]
AR®
Member

Откуда: Подмосковье
Сообщений: 294
Похоже, у нас Standard, а у него Parallel index operations = "".
Жаль.
30 ноя 18, 16:25    [21750323]     Ответить | Цитировать Сообщить модератору
 Re: Ускорить пересоздание кластерного индекса  [new]
TaPaK
Member

Откуда: Kiev
Сообщений: 5671
AR®
Похоже, у нас Standard

вы не уверны?
30 ноя 18, 16:26    [21750326]     Ответить | Цитировать Сообщить модератору
 Re: Ускорить пересоздание кластерного индекса  [new]
AR®
Member

Откуда: Подмосковье
Сообщений: 294
Не уверен.
30 ноя 18, 16:28    [21750336]     Ответить | Цитировать Сообщить модератору
 Re: Ускорить пересоздание кластерного индекса  [new]
TaPaK
Member

Откуда: Kiev
Сообщений: 5671
AR®
Не уверен.

как вы к серверу вообще пробраись?

SELECT @@VERSION
30 ноя 18, 16:29    [21750339]     Ответить | Цитировать Сообщить модератору
 Re: Ускорить пересоздание кластерного индекса  [new]
AR®
Member

Откуда: Подмосковье
Сообщений: 294
Standard Edition (64-bit), я почему-то был уверен, что Enterprise (возможно он у нас на другой машине).
30 ноя 18, 16:32    [21750348]     Ответить | Цитировать Сообщить модератору
 Re: Ускорить пересоздание кластерного индекса  [new]
TaPaK
Member

Откуда: Kiev
Сообщений: 5671
AR®
Standard Edition (64-bit), я почему-то был уверен, что Enterprise (возможно он у нас на другой машине).

и ядер сразу не 70 становится :)
30 ноя 18, 16:34    [21750352]     Ответить | Цитировать Сообщить модератору
 Re: Ускорить пересоздание кластерного индекса  [new]
AR®
Member

Откуда: Подмосковье
Сообщений: 294
Вообще-то регламентируется Number of CPUs, а про ядра ничего не сказано.
Процессоров как раз 4, по 20 Logical на каждого...
30 ноя 18, 16:39    [21750375]     Ответить | Цитировать Сообщить модератору
 Re: Ускорить пересоздание кластерного индекса  [new]
AR®
Member

Откуда: Подмосковье
Сообщений: 294
Ещё, раз уж заговорили, интересует, что в

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


означает %%bmk%% ?
30 ноя 18, 16:42    [21750383]     Ответить | Цитировать Сообщить модератору
 Re: Ускорить пересоздание кластерного индекса  [new]
TaPaK
Member

Откуда: Kiev
Сообщений: 5671
AR®
Вообще-то регламентируется Number of CPUs, а про ядра ничего не сказано.
Процессоров как раз 4, по 20 Logical на каждого...

Поодозреваю, что устаревшее описание Limited to lesser of 4 sockets or 24 cores.
30 ноя 18, 16:43    [21750388]     Ответить | Цитировать Сообщить модератору
 Re: Ускорить пересоздание кластерного индекса  [new]
Yasha123
Member

Откуда:
Сообщений: 1148
AR®
Вообще-то регламентируется Number of CPUs, а про ядра ничего не сказано.

really?

К сообщению приложен файл. Размер - 11Kb
30 ноя 18, 16:44    [21750392]     Ответить | Цитировать Сообщить модератору
 Re: Ускорить пересоздание кластерного индекса  [new]
Yasha123
Member

Откуда:
Сообщений: 1148
в еррорлоге посмотрите, сколько он реально видит
30 ноя 18, 16:49    [21750407]     Ответить | Цитировать Сообщить модератору
 Re: Ускорить пересоздание кластерного индекса  [new]
AR®
Member

Откуда: Подмосковье
Сообщений: 294
В логе windows или SQL-server?
30 ноя 18, 16:53    [21750418]     Ответить | Цитировать Сообщить модератору
 Re: Ускорить пересоздание кластерного индекса  [new]
Yasha123
Member

Откуда:
Сообщений: 1148
сервера.
exec xp_readerrorlog 0,1,N'cores';


К сообщению приложен файл. Размер - 9Kb
30 ноя 18, 17:00    [21750431]     Ответить | Цитировать Сообщить модератору
 Re: Ускорить пересоздание кластерного индекса  [new]
Владислав Колосов
Member

Откуда:
Сообщений: 5977
Все равно не верю, что писать в один поток сервер будет не хуже, чем читать в 10 в одну и ту же файловую группу, например. Хоть SSD хоть RAM Disk. Запись ну никак не может быть быстрее чтения даже один поток к одному.
30 ноя 18, 17:41    [21750512]     Ответить | Цитировать Сообщить модератору
 Re: Ускорить пересоздание кластерного индекса  [new]
Гавриленко Сергей Алексеевич
Member

Откуда: Moscow
Сообщений: 35833
Владислав Колосов
Все равно не верю, что писать в один поток сервер будет не хуже, чем читать в 10 в одну и ту же файловую группу, например. Хоть SSD хоть RAM Disk. Запись ну никак не может быть быстрее чтения даже один поток к одному.
Тот факт, что при создании индекса надо не только читать и писать данные, но еще и сортировать, вы сознательно игнорируете?
30 ноя 18, 18:04    [21750568]     Ответить | Цитировать Сообщить модератору
 Re: Ускорить пересоздание кластерного индекса  [new]
msLex
Member

Откуда:
Сообщений: 5682
Гавриленко Сергей Алексеевич
Владислав Колосов
Все равно не верю, что писать в один поток сервер будет не хуже, чем читать в 10 в одну и ту же файловую группу, например. Хоть SSD хоть RAM Disk. Запись ну никак не может быть быстрее чтения даже один поток к одному.
Тот факт, что при создании индекса надо не только читать и писать данные, но еще и сортировать, вы сознательно игнорируете?



А еще игнорируется тот основополагающий факт, что сразу на диск пишется только лог, а данные меняются в памяти, и только потом lazywrite-ом сбрасываются на диск
30 ноя 18, 19:27    [21750696]     Ответить | Цитировать Сообщить модератору
 Re: Ускорить пересоздание кластерного индекса  [new]
felix_ff
Member

Откуда: Moscow
Сообщений: 886
msLex
Гавриленко Сергей Алексеевич
пропущено...
Тот факт, что при создании индекса надо не только читать и писать данные, но еще и сортировать, вы сознательно игнорируете?



А еще игнорируется тот основополагающий факт, что сразу на диск пишется только лог, а данные меняются в памяти, и только потом lazywrite-ом сбрасываются на диск


не совсем так, лог тоже на диск сразу не пишется.

это при том если не рассматривать еще delayed durablity
30 ноя 18, 21:46    [21750794]     Ответить | Цитировать Сообщить модератору
 Re: Ускорить пересоздание кластерного индекса  [new]
Гавриленко Сергей Алексеевич
Member

Откуда: Moscow
Сообщений: 35833
felix_ff
не совсем так, лог тоже на диск сразу не пишется.
Ну давайте еще там про кеш на контроллере вспомним, ага.

Максимальная очередь на запись лога - не более 112 реквестов на базу (начиная с 2012го), так что можно считать, что сразу. (Сколько по факту, каждый может помониторить сам через sys.dm_io_pending_io_requests)
30 ноя 18, 22:59    [21750819]     Ответить | Цитировать Сообщить модератору
 Re: Ускорить пересоздание кластерного индекса  [new]
AR®
Member

Откуда: Подмосковье
Сообщений: 294
Yasha123
сервера.
exec xp_readerrorlog 0,1,N'cores';



(0 row(s) affected)

Т.е. работает 2008R2 Standard на 4 процах = 80 логических процах.
1 дек 18, 15:26    [21751028]     Ответить | Цитировать Сообщить модератору
 Re: Ускорить пересоздание кластерного индекса  [new]
AR®
Member

Откуда: Подмосковье
Сообщений: 294
Другой вопрос возник неожиданно.

ALTER TABLE [dbo].[TableName] ADD  CONSTRAINT [I_IDX] PRIMARY KEY CLUSTERED (...)
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) 
ON [NewFileGroup]


работало минут 10 и упало с:
Msg 1750, Level 16, State 0, Line 1
Could not create constraint. See previous errors.
The statement has been terminated.
Msg 4902, Level 16, State 1, Line 1
Cannot find the object "dbo.TableName" because it does not exist or you do not have permissions.

И в SSMS текущая база стала master (в которой действительно нет и не было таблицы TableName).

Если создавать заново кластерный индекс на группе PRIMARY, то он создаётся.
Другие таблицы благополучно перенеслись на [NewFileGroup].

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

Откуда: Moscow
Сообщений: 35833
Ну, dbcc checktable сделайте, если явно не понятно, в чем проблема.
1 дек 18, 16:06    [21751041]     Ответить | Цитировать Сообщить модератору
 Re: Ускорить пересоздание кластерного индекса  [new]
AR®
Member

Откуда: Подмосковье
Сообщений: 294
Так делал, никаких патологий.
Как и при обычном повседневном использовании этой таблицы.
Не получается перенести её в другую файловую группу.
Повторюсь, если снести кластерный индекс и пересоздать его на PRIMARY, всё получается за разумное время.
1 дек 18, 16:12    [21751044]     Ответить | Цитировать Сообщить модератору
Топик располагается на нескольких страницах: Ctrl  назад   1 [2]      все
Все форумы / Microsoft SQL Server Ответить