MSSQL - Pomiar czasu wykonywania zapytania + optymalizacja

0

Szanowni Państwo,

Mam dwa zapytania SQL na serwerze SQL Microsoftowym i za pomocą MSSMS chcę sprawdzić które się szybciej wykonuje, żeby dokonać optymalizacji. Jak poprawnie mierzyć czas wykonywania takiego zapytania? Część zapytań jest cachowana, jak się czyści takie cache, żeby za każdym zapytaniem na czysto sprawdzić czas wykonywania? Czy na środowisku Microsoft SQL Server Management Studio jest dostępne jakieś narzędzie do optymalizacji zapytań? Pytam ponieważ te jedno z tych zapytań będzie dodane do widoku. A chcę przyśpieszyć czas zwracania danych przez taki widok.

2

Porównaj plany zapytań, a nie czasy wykonania.

1
gornada napisał(a):

Szanowni Państwo,

Mam dwa zapytania SQL na serwerze SQL Microsoftowym i za pomocą MSSMS chcę sprawdzić które się szybciej wykonuje, żeby dokonać optymalizacji. Jak poprawnie mierzyć czas wykonywania takiego zapytania? Część zapytań jest cachowana, jak się czyści takie cache, żeby za każdym zapytaniem na czysto sprawdzić czas wykonywania? Czy na środowisku Microsoft SQL Server Management Studio jest dostępne jakieś narzędzie do optymalizacji zapytań? Pytam ponieważ te jedno z tych zapytań będzie dodane do widoku. A chcę przyśpieszyć czas zwracania danych przez taki widok.

Pytanie co chcesz mieżyć

  • Twój kod klienta
  • Czas połączenia Twojej aplikacj z bazą
  • Czas wykonania SQL na samej bazie, bez klienta
  • coś innego?

Jeśli chcesz samo query to zainteresuj się tutaj: https://docs.microsoft.com/en-us/sql/tools/sql-server-profiler/sql-server-profiler?view=sql-server-ver15

2
SET STATISTICS IO ON
SET STATISTICS TIME ON

A potem odpalasz sobie zapytania. Po wykonaniu zapytania na zakładce "Message" będziesz miał trochę przydatnych informacji.

DBCC FREEPROCCACHE
DBCC DROPCLEANBUFFERS

Pierwsze czyści plany zapytań (każde zapytanie będzie musiało zostać ponownie skompilowane przed wykonaniem), a drugie wywala dane z RAMu (serwer będzie musiał sobie ponownie pobrać je z dysku. Ale! To działa dla całego serwera, więcwplynie też na inne zapytania. Na dodatek nie zawsze (rzadko) istnieje potrzeba, żeby testować zapytania w taki sposób.

1 użytkowników online, w tym zalogowanych: 0, gości: 1