Mam 2 procedury składowane, przy czym druga procedura składowana jest ulepszeniem pierwszej.
Próbuję dokładnie zmierzyć, ile to jest ulepszenie.
1 / Pomiar clock time
nie wydaje się być opcją, ponieważ otrzymuję różne czasy wykonania. Co gorsza, czasami (rzadko, ale się zdarza) czas wykonania drugiej procedury składowanej jest dłuższy niż czas wykonania pierwszej procedury (chyba ze względu na obciążenie serwera w tym momencie).
2 / Include client statistics
zapewnia również różne wyniki.
3 / DBCC DROPCLEANBUFFERS
, DBCC FREEPROCCACHE
są dobre, ale ta sama historia ...
4 / SET STATISTICS IO ON
może być opcją, ale jak mogę uzyskać ogólny wynik, ponieważ w moich procedurach przechowywanych jest wiele tabel?
5 / Include actual execution plan
może być również opcją. Dostaję estimated subtreecost
0,3253 dla pierwszej procedury składowanej i 0,3079 dla drugiej. Czy mogę powiedzieć, że druga procedura przechowywana jest o 6% szybsza (= 0,3253 / 0,3079)?
6 / Korzystanie z pola „Odczytuje” z SQL Server Profiler?
Więc jak mogę powiedzieć, że druga procedura przechowywana jest x% szybsza niż pierwsza procedura, bez względu na warunki wykonania (obciążenie serwera, serwera, na którym te procedury przechowywane są wykonywane itp.)?
Jeśli nie jest to możliwe, jak mogę udowodnić, że druga procedura przechowywana ma lepszy czas wykonania niż pierwsza procedura przechowywana?