Sqlserver
 sql >> Base de Dados >  >> RDS >> Sqlserver

Existe alguma maneira/ferramenta para identificar o tempo de execução da consulta estimada no SQL SERVER


Atualmente não. A Microsoft está atualmente pesquisando maneiras de fazer isso usando uma combinação de trabalho já concluído e um plano de execução estimado (veja os detalhes de sua pesquisa no site Microsoft Research ), então podemos esperar ver algo em breve. Mas este é o único desenvolvimento de que estou ciente.

A solução que usei com mais sucesso no passado, para processos que levam muito tempo, é dividir o processo em tarefas menores e definir marcos ao final de cada tarefa. O tempo total para todas as execuções de cada tarefa é registrado, e isso é usado para comparar o progresso da execução atual. Isso depende muito da linearidade de suas consultas (ou seja, o tempo necessário para executar é linearmente proporcional ao número de registros). Os marcos podem ser medidos por etapas em um processo, dividindo os dados em segmentos menores ou ambos.