Estou me deparando com um problema estranho.
Temos dois servidores de banco de dados, um é de desenvolvimento e o outro é de produção.
Ambos têm as mesmas especificações.
VMs (Hyper-V) Windows Server 2008 R2 64 bits SQL Server 2008 R2 64 bits
Se eu executar exatamente a mesma consulta em nosso servidor de desenvolvimento, levará 10 segundos para obter 10 resultados. A mesma consulta no servidor de produção leva 1:30 minutos às vezes mais.
Existe uma maneira fácil de encontrar a origem do problema? É algo relacionado a índices, carga de trabalho?
Este é apenas um exemplo, as consultas são geradas dinamicamente, isso é usado por nosso aplicativo da web e gera consultas em um menu de pesquisa avançada
EDITAR consulta adicionada
SELECT Client_Id, Project_Id, Person_Id, Membership_No, Family_Name,
First_Name, Password, Company, Country_Name, EMail, Member_Type,
Member_Type_Description, Member_Status, Member_Status_Description,
Category, Member_Category_Description, Balance, Date_Registered
FROM uvw_Members_Display
WHERE Client_Id='EHA'
AND Project_Id='EHA'
AND ( Client_Id='EHA'
AND Project_Id='EHA'
AND ( (( uvw_Members_Display.Member_Type LIKE '01' ))
OR ( uvw_Members_Display.Member_Type LIKE '02' )
OR ( uvw_Members_Display.Member_Type LIKE '03' )
OR ( uvw_Members_Display.Member_Type LIKE '04' )
)
AND ( uvw_Members_Display.Member_Status LIKE 'I' )
AND ( Balance =0 )
AND ( uvw_Members_Display.Category LIKE '02' )
AND Date_Registered IS NOT NULL
)
ORDER BY Person_Id DESC
Graças a mrdenny! Seu comentário me apontou na direção certa!
Colei a consulta no SQL Management Studio
Em seguida, usei a opção Exibir plano de execução estimado
Isso me deu uma saída de que um índice em uma das tabelas pertencentes à visão precisava ser recriado, então eu apaguei e criei do zero usando a saída sugerida.
Agora a consulta leva apenas 2 segundos e não o 1:30min que costumava levar!
muito obrigado pessoal