Удаляет ли удаление некластеризованного индекса существующую полнотекстовую индексацию в таблице SQL Server? - PullRequest
0 голосов
/ 12 февраля 2019
CREATE TABLE [dbo].[TicketTasks]
(
        [TicketTaskId] [int] IDENTITY(1,1) NOT FOR REPLICATION NOT NULL,
        [TicketTaskTypeId] [char](2) NOT NULL,
        [TicketId] [int] NOT NULL, 
        [CreatedUtc] [datetime] NOT NULL,
        [DeletedUtc] [datetime] NULL,
        [DepartmentId] [int] NOT NULL,
        [TaskAction] [nvarchar](max) NULL,
        [TaskResult] [nvarchar](max) NULL,
        [TaskPrivateNote] [nvarchar](max) NULL,

        CONSTRAINT [PK_TicketTasks] 
           PRIMARY KEY CLUSTERED ([TicketTaskId] ASC) 
)

Привет, это моя структура таблицы.

  1. TicketTaskId, который является кластеризованным
  2. TicketId некластеризованный индекс с [CreatedUtc], [DeletedUtc], [DepartmentId]
  3. TaskAction, TaskResult, TaskPrivateNote добавлен для полнойиндексирование текста

У меня около 50 миллионов записей в этой таблице.В настоящее время я должен удалить и заново создать некластеризованный индекс для сортировки TicketID в деск.

Влияет ли это удаление некластеризованного индекса на какие-либо другие индексы?

Удалит ли он полнотекстовое индексирование, выполненное длястол?

1 Ответ

0 голосов
/ 13 февраля 2019

Общие некластеризованные индексы не зависят друг от друга, единственная проблема, с которой вы можете столкнуться, - это вмешиваться в кластеризованный индекс (обычно сопровождаемый PRIMARY KEY), поскольку он физически реорганизует данные, а все остальные индексы содержатуказатель на него.

Однако полнотекстовые индексы прикрепляются к индексу, обеспечивающему уникальность значений (индекс UNIQUE).Это делается с помощью параметра KEY INDEX при создании полнотекстового индекса:

CREATE FULLTEXT INDEX 
    ON [dbo].[TicketTasks](TaskAction)   
    KEY INDEX <UniqueIndexName>

Так что, пока вы не измените этот ссылочный уникальный индекс, вы можете удалить другие некластеризованные индексы.

...