У меня медленный запрос в SQL Server 2005. Он имеет 3 внутренних объединения (для таблиц с несколькими десятками тысяч строк в одну с миллионом строк) и предложение order by.
Все ключи объединения являются столбцами uuid, но индекс только для одной из таблиц всегда существует (каждая таблица имеет первичный ключ в качестве типа uniqueidentifier, а другая таблица будет иметь столбец, действующий как внешний ключ с этим же значение для присоединения, но у него нет индекса).
Полагаю, что добавление индекса к столбцам «действующий как внешний ключ» очень поможет.
Какие другие варианты можно использовать для оптимизации этого запроса?
Примечание. Кажется, что у моей базы данных есть узкое место в ЦП, разумно ли думать, что этот запрос (который часто выполняется) может вызвать его? БД составляет всего около 2 ГБ, а у меня 4 ГБ оперативной памяти, поэтому я сомневаюсь, что есть много проблем ввода-вывода. Будет ли заказ поедать процессор?