Удаление кластерного ПК, создающего кластеризованный индекс

У меня таблица с таблицами размером 99 мм + строк 800 ГБ (и другие таблицы сопоставимого размера). Я хочу отказаться от существующего кластерного ПК (воссоздать как некластеризованное) и создать новый кластеризованный индекс. Это для настройки производительности. После прочтения настройки / индексации производительности я пришел к выводу, что лучшим вариантом может стать воссоздание кластеризованного индекса на дату, идентификатор (идентификатор). Он будет логически реорганизовывать таблицу с меньшим количеством чтений и IO.

ALTER TABLE [dbo].[Adventure_works] DROP CONSTRAINT [PK_ADV]
GO

ALTER TABLE [dbo].[Adventure_works] ADD  CONSTRAINT [PK_ADV] PRIMARY KEY NONCLUSTERED 
(
[id] ASC,
[leg_id] ASC,
[category] ASC
)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 [PRIMARY]
GO

CREATE CLUSTERED INDEX [IX_Adv_date_id] ON dbo.[Adventure_works](
[biz_date] asc,
[id] asc
)

Перед вышеописанными шагами я также отказываюсь от всех других некластеризованных индексов (NCI), поскольку это позволяет избежать восстановления NCI во время сбрасывания / создания CI. Однако для завершения операции все еще требуется 1,5 часа.

Есть ли быстрее достичь этого?

sql-server,indexing,clustered-index,

0

Ответов: 0

Удаление кластерного ПК, создающего кластеризованный индекс

У меня таблица с таблицами размером 99 мм + строк 800 ГБ (и другие таблицы сопоставимого размера). Я хочу отказаться от существующего кластерного ПК (воссоздать как некластеризованное) и создать новый кластеризованный индекс. Это для настройки производительности. После прочтения настройки / индексации производительности я пришел к выводу, что лучшим вариантом может стать воссоздание кластеризованного индекса на дату, идентификатор (идентификатор). Он будет логически реорганизовывать таблицу с меньшим количеством чтений и IO.

ALTER TABLE [dbo].[Adventure_works] DROP CONSTRAINT [PK_ADV]
GO

ALTER TABLE [dbo].[Adventure_works] ADD  CONSTRAINT [PK_ADV] PRIMARY KEY NONCLUSTERED 
(
[id] ASC,
[leg_id] ASC,
[category] ASC
)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 [PRIMARY]
GO

CREATE CLUSTERED INDEX [IX_Adv_date_id] ON dbo.[Adventure_works](
[biz_date] asc,
[id] asc
)

Перед вышеописанными шагами я также отказываюсь от всех других некластеризованных индексов (NCI), поскольку это позволяет избежать восстановления NCI во время сбрасывания / создания CI. Однако для завершения операции все еще требуется 1,5 часа.

Есть ли быстрее достичь этого?

00SQL-сервер, индексация, кластерный индекс,
Похожие вопросы