Answer-ID
  • Întrebări
  • Tag-uri
  • Categorii
Notificări
Recompense
Înregistrare
După înregistrare, veți primi notificări despre răspunsurile și comentariile la întrebările DVS.
Logare
Dacă aveţi deja un cont, autentificaţi-vă pentru a verifica notificările noi.
Aici vor fi recompensele pentru întrebările, răspunsurile și comentariile adăugate sau modificate.
Mai mult
Sursă
Editează
 Templar
Templar

Exista o baza de date SQL Server 2005 cu nivel de compatibilitate 80 care are un impact negativ asupra performantei?

Software-ul nostru trebuie să fie capabil să ruleze pe SQL Server 2000 și 2005. Pentru a simplifica dezvoltarea, executăm bazele de date SQL Server 2005 în nivelul de compatibilitate 80. Cu toate acestea, performanța bazei de date pare să fie mai lentă pe SQL 2005 decât pe SQL 2000 în unele cazuri nu au confirmat acest lucru utilizând referințe încă). Actualizarea nivelului de compatibilitate la 90 ar îmbunătăți performanța pe serverele SQL 2005?

11 2008-08-10T16:46:12+00:00 4
Programare
database
sql-server
Comentarii la întrebare (0)
SQLMenace
10 august 2008 в 8:59
2008-08-10T20:59:30+00:00
Mai mult
Sursă
Editează
#7241

după ce ați mutat DB-urile peste 2005 ați făcut-o

actualizați statisticile cu scanare completă? ați reconstruit indicii?

încercați mai întâi acest lucru și apoi verificați din nou performanța

0
0
Comentarii (0)
SQLMenace
10 august 2008 в 9:01
2008-08-10T21:01:28+00:00
Mai mult
Sursă
Editează
#7242

Also a FYI, if you run compatibility level 90 then some things are not supported anymore like old style outer joins (*= and =*)

0
0
Comentarii (0)
Marek Grzenkowicz
29 august 2008 в 12:33
2008-08-29T00:33:29+00:00
Mai mult
Sursă
Editează
#33324

Utilizați subselecte în interogările dvs.?

Din experiența mea, o instrucțiune SELECT cu subselecte care rulează bine pe SQL Server 2000 se poate accesa cu crawlere pe SQL Server 2005 (poate fi de 10x mai lent!).

Efectuați un experiment - re-scrieți o interogare pentru a elimina subselectele și pentru a vedea cum se schimbă performanța.

0
0
Comentarii (0)
Jan
7 octombrie 2008 в 5:46
2008-10-07T17:46:25+00:00
Mai mult
Sursă
Editează
#178509

Cred că am citit undeva că motorul bazei de date SQL Server 2005 ar trebui să fie cu aproximativ 30% mai rapid decât motorul SQL Server 2000. S-ar putea să fie, că trebuie să vă executați baza de date în modul de compatibilitate 90 pentru a obține aceste beneficii.

Dar am dat peste două scenarii, în care performanța poate scădea dramatic atunci când se utilizează mssql 2005 în comparație cu mssql 2000:

  1. Sniffing parametru: Atunci când se utilizează o procedură stocată, serverul sql va calcula exact un singur plan de execuție în acel moment, apelând mai întâi procedura. Planul de execuție depinde de valorile parametrilor specificați pentru acel apel. În cazul nostru, procedurile care durează în mod normal aproximativ 10 secunde rulează ore întregi sub mssql 2005. Aruncați o privire aici și aici .

  2. Atunci când se utilizează interogări distribuite, mssql 2005 se comportă diferit în ceea ce privește ipotezele privind ordinea de sortare de pe serverul de la distanță. Implicit, comportamentul este că serverul copiază întreaga tabelă la distanță implicată într-o interogare către tempdb local și apoi execută conexiunile la nivel local. Soluția este să utilizați OPENQUERY, unde puteți controla exact ce rezultateet este transferat de la serverul de la distanță.

0
0
Comentarii (0)
Adăugati o întrebare
Categorii
Toate
Tehnologii
Cultură
Viață / Artă
Stiință
Profesii
Afaceri
ID
KO
RU
© Answer-ID 2021
Sursă
https://stackoverflow.com
în cadrul licenței cc by-sa 3.0 cu atribuire