Nasze oprogramowanie musi być w stanie działać na SQL Server 2000 i 2005. Aby uprościć rozwój, uruchamiamy nasze bazy danych SQL Server 2005 na poziomie kompatybilności 80. Jednak wydajność bazy danych wydaje się wolniejsza w SQL 2005 niż w SQL 2000 w niektórych przypadkach (nie potwierdziliśmy tego jeszcze za pomocą testów porównawczych). Czy podniesienie poziomu zgodności do 90 poprawi wydajność na serwerach SQL 2005?Czy uruchamianie bazy danych SQL Server 2005 na poziomie zgodności 80 ma negatywny wpływ na wydajność?
Odpowiedz
myślę Czytałem gdzieś, że SQL Server 2005 silnik bazy danych powinna wynosić około 30% szybciej niż silnik SQL Server 2000. Możliwe, że musisz uruchomić bazę danych w trybie zgodności 90, aby uzyskać te korzyści.
Ale natknąłem się na dwa scenariusze, w których wydajność może spaść dramatycznie przy użyciu MSSQL 2005 w porównaniu do MSSQL 2000:
Parametr wąchania: W przypadku korzystania z procedury przechowywanej, serwer SQL obliczy dokładnie jeden plan wykonania w czas, najpierw zadzwoń do procedury. Plan wykonania zależy od wartości parametrów podanych dla tego wywołania. W naszym przypadku procedury, które normalnie trwały około 10 sekund, trwały wiele godzin pod adresem mssql 2005. Przyjrzyj się here i here.
Podczas korzystania rozproszonych zapytań mssql 2005 zachowuje się różne dotyczących założeń o porządku sortowania na serwerze zdalnym. Domyślnym zachowaniem jest to, że serwer kopiuje całe zdalne tabele zaangażowane w zapytanie do lokalnego tempdb, a następnie wykonuje lokalnie połączenia. Obejście polega na użyciu OPENQUERY, w którym można dokładnie kontrolować, który zestaw wyników jest przesyłany ze zdalnego serwera.
po przeniósł DBS ponad 2005 skończyłeś
aktualizowania statystyk z pełnego skanowania? przebudował indeksy?
najpierw spróbować, a następnie sprawdzić wydajność ponownie
Również FYI, jeśli uruchomić poziom zgodności 90 następnie niektóre rzeczy nie są już wspierane jak starym stylu sprzężenia zewnętrzne (*= and =*)
Używasz podselekcji w twoje pytania?
Z mojego doświadczenia wynika, SELECT z obsługę żądań, który działa prawidłowo na SQL Server 2000 może indeksować na SQL Server 2005 (może to być jak 10x wolniej!).
Złóż eksperyment - re-write jedno zapytanie do wyeliminowania podselekcji i zobaczyć, jak jego zmian wydajności.
- 1. React Native - czy console.log() ma negatywny wpływ na wydajność podczas przechodzenia do produkcji?
- 2. Czy SQL Server 2005 ma odpowiednik typu danych ENUM MySql?
- 3. Poziom zgodności programu SQL Server 2008
- 4. Wpływ Console.Writeline na wydajność
- 5. Systemtap wpływ na wydajność
- 6. Ustaw NOCOUNT OFF na poziomie bazy danych?
- 7. Czy kolejność członków obiektów klasy ma jakikolwiek wpływ na wydajność?
- 8. Jak ustawić domyślny schemat bazy danych w SQL Server 2005?
- 9. Uruchamianie Sinatra na porcie 80
- 10. Wydajność Androida na poziomie 11 i wyższym
- 11. Wpływ metod wirtualnych na wydajność
- 12. SQL Server 2005: Deadlock transakcji
- 13. Log.d i wpływ na wydajność
- 14. SQL Server 2005: Określ typ danych zmiennej
- 15. Nie można znaleźć datę typów danych w SQL Server 2005
- 16. Role bazy danych SQL Server
- 17. Java 8: Operacja łączenia ciągów ma znaczący wpływ na wydajność
- 18. Czy kolejność przełączników ma wpływ na prędkość?
- 19. Czy CountDownLatch ma wpływ na fałszywe wybudzenia?
- 20. Najlepszy sposób na synchronizację zdalnej bazy danych SQL Server z lokalną bazą danych SQL Server Compact?
- 21. Zmień typ danych varchar na nvarchar w istniejącej bazie danych SQL Server 2005. Jakieś problemy?
- 22. Wpływ na wydajność dyrektywy ng-csp
- 23. Wydajność efekt Synonimy na serwerze połączonym w programie SQL Server
- 24. App_Data/ASPNETDB.MDF na Sql Server 2005 (lub 08)
- 25. Kreator publikacji bazy danych SQL z SQL Server 2008
- 26. Jaki jest wpływ selektora uniwersalnego na wydajność?
- 27. Jak zmienić właściciela bazy danych SQL Server?
- 28. Czy dodanie [Serializable] do klasy może mieć wpływ na wydajność?
- 29. Znaczniki a punkty wektorowe - wpływ na wydajność
- 30. Czy widoki bazy danych wpływają na wydajność zapytań?