Sqlserver
 sql >> Database >  >> RDS >> Sqlserver

SP impiega 15 minuti, ma la stessa query quando viene eseguita restituisce risultati in 1-2 minuti

Questa è l'impronta dello sniffing dei parametri. Vedi qui per un'altra discussione a riguardo; Prestazioni del piano di esecuzione della stored procedure SQL scadenti - sniffing dei parametri

Esistono diverse soluzioni possibili, inclusa l'aggiunta di WITH RECOMPILE alla procedura memorizzata che funziona circa la metà del tempo.

La soluzione consigliata per la maggior parte delle situazioni (sebbene dipenda dalla struttura della query e dello sproc) è NON usa i tuoi parametri direttamente nelle tue query, ma salvali piuttosto in variabili locali e quindi usa quelle variabili nelle tue query.