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

Откуда: Ungvar
Сообщений: 1062
Есть таблица TableName с первичным ключом TableNameID
Есть SQL-запрос по убыванию:
 ORDER BY TableNameID DESC


Вопрос стоит ли создавать первичный ключ TableNameID по убыванию?
 CONSTRAINT [PK_TableName] PRIMARY KEY CLUSTERED 
(
	[TableNameID] DESC
)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY]
) ON [PRIMARY]

Или создать дополнительный индекс по убыванию?
6 мар 18, 13:50    [21240420]     Ответить | Цитировать Сообщить модератору
 Re: Индекс и ORDER BY DESC  [new]
Дедушка
Member

Откуда: Город трёх революций
Сообщений: 5111
и эти ваши TableNameID как получаются?
6 мар 18, 14:03    [21240456]     Ответить | Цитировать Сообщить модератору
 Re: Индекс и ORDER BY DESC  [new]
Eleanor
Member

Откуда:
Сообщений: 2875
potkin,

Посмотрите на план выполнения запроса
SELECT * FROM TableName ORDER BY TableNameID ASC / DESC
и увидите, что в обоих случаях используется один и тот же первичный ключ, но в одном случае у него Scan Direction = FORWARD, а в другом BACKWARD.
Т.е. для такого запроса второй индекс не нужен, и создавать свой PK вы можете с любой опцией ASC / DESC.
6 мар 18, 14:16    [21240512]     Ответить | Цитировать Сообщить модератору
Все форумы / Microsoft SQL Server Ответить