Eu tenho uma consulta que precisa de um guia de plano, mas estou tendo dificuldade em configurá-lo.
Consulta abaixo do cache do procedimento...
(@state nvarchar(14),
@jobName nvarchar(18),
@jobGroup nvarchar(28),
@oldState nvarchar(6))
UPDATE JOB_TRIGGERS
SET TRIGGER_STATE = @state
WHERE JOB_NAME = @jobName
AND JOB_GROUP = @jobGroup
AND TRIGGER_STATE = @oldState
O SQL Server opta por executar uma verificação de índice clusterizado em vez de uma busca de índice não clusterizado. Estou tendo problemas esporádicos de deadlock com esta instrução de atualização e uma determinada instrução de seleção na tabela. Entendo por que o SQL está escolhendo uma verificação de índice clusterizado na tabela....Rows < 100 e PageCount < 25.
A tabela tem uma grande quantidade de atividade e, como é um produto de terceiros, não tenho a capacidade de modificar a consulta e fornecer uma dica de índice. O custo de consulta de usar o índice não clusterizado é maior, mas acredito que melhorará a simultaneidade com base em testes....
Eu preciso dizer a ele para usar o índice não clusterizado abaixo
WITH (INDEX (ix_jobname_jobgroup_triggerstate))
Ajuda para configurar isso seria muito apreciada..