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

Откуда: Moscow
Сообщений: 1011
Господа я что то в некоем замешательстве:

есть табличка, 6897262 строк, на табличке 3 статистики: одна индексная, две колоночные
CREATE TABLE [dbo].[TBL](
	[INN] [varchar](20) NULL,
	[OGRN] [varchar](50) NULL,
	[KPP] [varchar](20) NULL,
	[NAMEP] [varchar](1024) NULL,
	[NAMES] [varchar](1024) NULL,
	[STATUS] [int] NULL,
	[DTSTART] [datetime] NULL,
	[DATA] [datetime] NULL,
	[OKATO] [varchar](20) NULL,
 	[INDEKS] [int] NULL,
	[REGION_NAME] [varchar](255) NULL,
	[RAION_NAME] [varchar](255) NULL,
	[GOROD_NAME] [varchar](255) NULL,
	[NASPUNKT_NAME] [varchar](255) NULL,
	[STREET_NAME] [varchar](255) NULL,
	[DOM] [varchar](50) NULL,
	[KORP] [varchar](50) NULL,
	[KVART] [varchar](50) NULL
) ON [PRIMARY]
GO

CREATE NONCLUSTERED INDEX [ix] ON [dbo].[TBL]
(
	[INN] ASC
)
INCLUDE ([STATUS]) WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, SORT_IN_TEMPDB = OFF, DROP_EXISTING = OFF, ONLINE = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY]
GO


даю команду:
update statistics [dbo].[TBL] with fullscan, maxdop = 8


что в итоге вижу: две статистики обновляет с последовательным планом, одну с параллельным. как так то?


В дополнение вопрос: вот тынц статья, про паралелльные обновления статистик и флаг 7471.

У меня в итоге действительно лок X на object.updatestats уходит повляется U, но что самое интересное параллельная сессия все равно лочится на convert (METADATA.indexstats) Sch-S => Sch-M.

у когонибудь такое было?


Microsoft SQL Server 2016 (SP2-CU2-GDR) (KB4458621) - 13.0.5201.2 (X64)
Aug 18 2018 07:38:15
Copyright (c) Microsoft Corporation
Enterprise Edition: Core-based Licensing (64-bit) on Windows Server 2012 R2 Standard 6.3 <X64> (Build 9600: ) (Hypervisor)

15 мар 19, 00:16    [21833132]     Ответить | Цитировать Сообщить модератору
 Re: parallel update statistics  [new]
felix_ff
Member

Откуда: Moscow
Сообщений: 1011
Так с вторым вопросом разобрался вроде, запускал update statistics t with fullscan, maxdop=0, columns в одной сессии в а другой апдейт по отдельной индексной.

Первая лочит по sch-s заранен все статистики индексов по которым будет идти сканирование. Из-за этого когда индексное обновление подходит к завершению оно пытается конвертнуть блокировку стабильности схемы на модификацию.


Но с первым вопросом все равно не понимаю почему выборочно параллельные планы
15 мар 19, 00:56    [21833146]     Ответить | Цитировать Сообщить модератору
Все форумы / Microsoft SQL Server Ответить