Performance delle variabili locali

lunedì 30 maggio 2016 - 15.07

dompa72 Profilo | Senior Member

Ciao a tutti

anche questa volta ho un dubbio sulle variabili utilizzate nel batch.

Ho una variabile dichiarata così Declare @Year as smallint = Year(GetDate()) -1 --risultato 2015

ho una query con due subquery che ha @Year in una condizione per le singole subquery

Se lancio la quesry e nella condizione inserisco la variabile, la quesry si risolve in 18 secondi, mentre se metto 2015 oppure direttamente Year(GetDate()) -1 la quesry viene risolve in 5 secondi

Quale può essere la casusa di questa differenza di performance????

Grazie

ysdemarc Profilo | Expert

forse è il tipo di dati, la variabile è smallint, controlla che sia dello stesso tipo del campo che vai a mettere nella condizione.

dompa72 Profilo | Senior Member

>forse è il tipo di dati, la variabile è smallint, controlla che
>sia dello stesso tipo del campo che vai a mettere nella condizione.

Ho provato anche con la il tipo di dato int ed il risultato è lo stesso

Siccome ho già avuto problemi di lentezza se lavoro con varibili di tipo Table con pochi dati a differenza di Tabelle temporanee generate nel temdb
mi chiedevo se c'è qualche problema al motore oppure se devo controllare qualche setting?

Grazie per la risposta
Partecipa anche tu! Registrati!
Hai bisogno di aiuto ?
Perchè non ti registri subito?

Dopo esserti registrato potrai chiedere
aiuto sul nostro Forum oppure aiutare gli altri

Consulta le Stanze disponibili.

Registrati ora !
Copyright © dotNetHell.it 2002-2024
Running on Windows Server 2008 R2 Standard, SQL Server 2012 & ASP.NET 3.5