Таблица (строка, строка) требует индекс? - PullRequest
0 голосов
/ 13 июня 2010

В моей базе данных, работающей на SQL Server 2008 R2, у меня есть специальная таблица для глобальных переменных:

CREATE TABLE global_variables
(
    name NVARCHAR(50),
    value NVARCHAR(50) NOT NULL
CONSTRAINT PK_global_variables PRIMARY KEY CLUSTERED
(
    name ASC
) WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY]
) ON [PRIMARY]
GO

Требуется ли для такой таблицы индексирование по value или нет?

1 Ответ

5 голосов
/ 13 июня 2010

Ограничение первичного ключа создает индекс (в данном примере кластеризованный индекс) для столбца name.

Если у вас есть запросы, которые пытаются найти name, задав value, вам потребуется индекс для столбца value, чтобы сделать это эффективно. В противном случае, если все ваши поиски основаны на name, вам не нужно создавать индекс для столбца value.

...