Одно приложение вызывает большую нагрузку на нашу базу данных Sql Server 2005. Мы не контролируем приложение, которое запускает этот запрос hundres раз в минуту:
select id,col1,col2,col3 from table where id != id
Обратите внимание на id!= id, что означает, что строка не равна самому себе. Неудивительно, что результат всегда не найден. Тем не менее, Sql Server выполняет кластерное сканирование индекса при каждом выполнении этого запроса!
Столбец id определяется как:
varchar(15) not null primary key
В плане запроса отображается огромное количество "Оценочное количество строк". У кого-нибудь есть идея, почему Sql Server нуждается в сканировании таблицы, чтобы выяснить очевидное?