Sintomi
Supponiamo che tu abbia abilitato il nuovo estimatore della cardinalitàin Microsoft SQL Server 2014. Quando si esegue una query che contiene istruzioni di join, è possibile che si verifichino i problemi seguenti:
-
Alcune query richiedono molto più tempo per la compilazione, in particolare quando la query ha un numero elevato di join. Il tempo di compilazione può aumentare sensibilmente con la crescita dei join.
-
Quando il predicato di join usa altre condizioni rispetto all'uguaglianza o a una combinazione di uguaglianze, il numero stimato di righe di tipi specifici in join è diverso dal numero effettivo di righe elaborate. In questo caso, le prestazioni della query vengono decrementate e, poiché la query richiede una concessione di memoria di grandi dimensioni, le prestazioni complessive del server vengono decrementate.
Risoluzione
Informazioni sui Service Pack
Per risolvere il problema, ottenere Service Pack 1 per SQL Server 2014.
Per altre informazioni su SQL Server 2014 Service Pack 1 (SP1), vedere bug corretti in SQL server 2014 Service Pack 1.Nota Per rendere effettiva la correzione per il secondo problema descritto in questo articolo, abilitare il flag di traccia 4199.
Soluzione alternativa
Per risolvere questi problemi, usare il vecchio estimatore della cardinalità impostando il livello di compatibilità del database su un valore minore di 120 o abilitando il contrassegno di traccia 9481 a livello globale, sessione o query.
Stato
Microsoft ha confermato che questo problema si verifica nei prodotti elencati nella sezione "Si applica a".