У меня есть этот инструмент веб-приложения, который запрашивает данные и показывает их в виде сетки. Сейчас многие используют его, поэтому он должен быть довольно производительным.
Дело в том, что мне нужно было добавить пару дополнительных полей через объединения, и теперь для выполнения запроса требуется вечность.
Если я в sql server запускаю следующий запрос:
select top 100 *
from bam_Prestatie_AllInstances p
join bam_Zending_AllRelationships r on p.ActivityID = r.ReferenceData
join bam_Zending_AllInstances z on r.ActivityID = z.ActivityID
where p.PrestatieZendingOntvangen >= '2010-01-26' and p.PrestatieZendingOntvangen < '2010-01-27'
Это занимает около 35-55 секунд, что слишком долго. Потому что это только маленький.
Если я уберу одну из двух проверок даты, это займет всего 1 секунду. Если я удаляю два соединения, это также займет всего 1 секунду.
Когда я использую план запросов для этого, я вижу, что 100% времени тратится на индексацию поля PrestatieZendingOntvangen. Если я установлю это поле для индексирования, ничего не изменится.
У кого-нибудь есть идеи, что делать?
Потому что мои клиенты начинают жаловаться на тайм-ауты и т. Д.
Спасибо