Remediere: Slabe când utilizați variabile de tabel în SQL Server 2012 sau SQL Server 2014

IMPORTANT: Acest articol este tradus cu ajutorul software-ului Microsoft de traducere automată și poate fi corectat prin intermediul tehnologiei Community Translation Framework (CTF). Microsoft oferă articole traduse automat, post-editate de comunitate și articole traduse de oameni, pentru a permite accesul la toate articolele din Baza noastră de cunoștințe în mai multe limbi. Articolele traduse automat și post-editate pot conține greșeli de vocabular, sintaxă și/sau gramatică. Microsoft nu este responsabil de inexactitățile, erorile sau daunele cauzate de traducerea greșită a conținutului sau de utilizarea acestuia de către clienți. Găsiți mai multe informații despre traducerea în colaborare la http://support.microsoft.com/gp/machine-translation-corrections/ro.

Faceți clic aici pentru a vizualiza versiunea în limba engleză a acestui articol: 2952444
Simptome
Când populează o variabilă de tabel cu mai multe rânduri și apoi se alăture cu alte tabele, Optimizatorul de interogare alege un plan de interogare ineficient, care pot duce la interogare performanţe reduse.
Rezoluţie
După aplicarea acestei remedieri rapide, aveți posibilitatea să activați semnalizatorul de urmărire 2453 pentru a permite o variabilă de tabel pentru a declanşa recompilare atunci când se modifică numărul suficient de rânduri. Aceasta poate permite Optimizatorul de interogare pentru a alege un plan mai eficient.

Problema a fost rezolvată mai întâi în următoarea actualizare cumulativă sau / și pachete pachet Service Pack pentru SQL Server.

Actualizarea cumulativă 3 pentru SQL Server 2014

Despre actualizările cumulative pentru SQL Server

Fiecare nouă actualizare cumulativă pentru SQL Server conține toate remedierile rapide și toate remedierile de securitate care au fost incluse în actualizarea cumulativă anterioară. Verifica cele mai recente actualizări cumulative pentru SQL Server:

pachet Service Pack 2 pentru SQL Server 2012

Despre pachetele pachet Service Pack pentru SQL Server

Pachetele pachet Service Pack sunt cumulative. Fiecare pachet pachet Service Pack nou conține toate remedierile care sunt în pachetele pachet Service Pack anterioare, precum și toate remedierile noi. Noastre recomandare se aplică cel mai recent pachet pachet Service Pack și cele mai recente actualizarea cumulativă pentru acel pachet pachet Service Pack. Nu trebuie să instalați un pachet de service anterior înainte să instalați cel mai recent pachet pachet Service Pack. Utilizați tabelul 1 în următorul articol pentru a găsi mai multe informații despre ultimul pachet pachet Service Pack și cele mai recente actualizări cumulative:

Informaţii suplimentare
Când utilizați o variabilă de tabel într-un batch sau proceduri, interogarea este compilat și optimizate pentru starea inițială gol variabile de tabel. Dacă această variabilă de tabel este populat cu mai multe rânduri în timpul rulării, planul de interogare pre-compilate nu mai poate fi optim. De exemplu, interogarea poate fi conectare la o variabilă de tabel cu buclă imbricată deoarece este de obicei mai eficient pentru mici numărul de rânduri. Acest plan de interogare poate fi ineficient dacă variabila tabel are milioane de rânduri. O asociere hash poate fi o mai bună alegere sub astfel de stare. Pentru a obține un nou plan de interogare, trebuie să fi recompilat. Spre deosebire de alte utilizator sau temporare tabele, cu toate acestea, rând ai modificare într-o variabilă de tabel nu declanșează o recompilare de interogare. De obicei, aveți posibilitatea să rezolvați acest lucru cu OPȚIUNEA (RECOMPILARE), care are propriul cost globale.
Semnalizatorul de urmărire 2453 permite beneficia de interogare recompilare fără OPȚIUNEA (RECOMPILARE). Această semnalizare de urmărire diferă de opţiune (RECOMPILARE) în două aspecte principale.
(1) se utilizează același rând ai prag ca alte tabele. Interogarea nu trebuie să fie compilate pentru fiecare executare spre deosebire de opţiune (RECOMPILARE). Acesta ar declanșa recompilare numai când rând ai modificarea depășește pragul predefinite.
(2) OPȚIUNEA (RECOMPILARE) impune interogarea Sumar parametri şi optimizarea interogarea pentru ele. Această semnalizare de urmărire nu impune parametru trage cu ochiul.

Notă acest semnalizatorul de urmărire trebuie să fie ON runtime. Aveți posibilitatea să utilizați această semnalizare de urmărire cu QUERYTRACEON. Această semnalizare de urmărire trebuie utilizată cu atenție, deoarece acesta poate crește numărul de interogare recompiles care ar putea costa mai mult decât economii de optimizare interogare mai bine.
Stare
Microsoft a confirmat că aceasta este o problemă cu produsele Microsoft enumerate în secţiunea „Se aplică la".

Avertisment: acest articol a fost tradus automat

Proprietăți

ID articol: 2952444 - Ultima examinare: 02/22/2016 07:06:00 - Revizie: 3.0

Microsoft SQL Server 2012 Service Pack 2, Microsoft SQL Server 2014 Developer, Microsoft SQL Server 2014 Enterprise, Microsoft SQL Server 2014 Standard

  • kbqfe kbfix kbsurveynew kbexpertiseadvanced kbmt KB2952444 KbMtro
Feedback