У меня есть этот очень старый и медленный запрос, который я пытаюсь оптимизировать, но я не уверен, что могу что-либо с ним сделать, но добавьте больше индексов в столбцы, участвующие в WHERE, JOIN и ORDER BY ,Оптимизация запросов и добавление индексов
Запрос:
SELECT TOP 400 jobticket.jobnumber, jobticket.typeform, jobticket.filename, jobticket.req_number, jobticket.reqd_del_date, jobticket.point_of_contact, jobticket.status, jobticket.DapsDate, jobticket.elpod, job_info.IDOrderMaskedStatus, job_info.job_status, job_info.SalesID, job_info.location, job_info.TOMetadataID
FROM jobticket WITH (NOLOCK)
INNER JOIN job_info WITH (NOLOCK) ON job_info.jobnumber = jobticket.jobnumber
WHERE
(
NOT(
(jobticket.status = 'Complete' OR jobticket.status = 'Completed')
and (job_info.job_status = 'Actualized' OR job_info.job_status = ''
OR job_info.job_status = 'Actualized Credit Billed'
OR job_info.job_status = 'DWAS Actualized' OR job_info.job_status = 'DWAS Actualized Credit Billed'
)
)
or
((SELECT COUNT(job_status) AS Expr1 FROM tblConsolidatedBilling AS tblConsolidatedBilling_1 WITH (NOLOCK)
WHERE (job_status <> 'Actualized'
AND job_status <> 'Actualized Credit Billed')
AND (master_jobnumber = jobticket.jobnumber)) > 0)
)
and (jobticket.status != 'Waiting Approval' or (jobticket.status = 'Waiting Approval' and jobticket.DPGType is null))
and jobticket.typeform <> 'todpg'
and ((job_info.isHidden <> 1 or job_info.isHidden is null) and job_info.isInConcurrentRelease is null)
and job_info.deleted != '1'
and jobticket.status != 'New Job'
and jobticket.status != 'PRFYCLSFD'
ORDER BY
job_info.expediencyLevel DESC,
jobticket.jobnumber DESC
Честно говоря, я не знаю, что делать с этим запросом.
Следует ли добавлять отдельные некластеризованные индексы ко всем столбцам, участвующим в ГДЕ СОЕДИНЕНИИ И ЗАКАЗЕ?
Есть много индексов на этих таблицах, но я не уверен, являются ли они полезны в этом запросе:
Вы как-то автоматически создаете индексы на основе результатов советника по настройке базы данных? Или как у вас так много повторяющихся индексов ... –
Я понятия не имею. Я пытаюсь очистить беспорядок :) – Angelina