Saya memiliki 2 prosedur tersimpan, di mana prosedur tersimpan kedua adalah peningkatan dari yang pertama.
Saya mencoba untuk mengukur dengan tepat berapa banyak perbaikan.
1 / Mengukur clock time
sepertinya tidak menjadi pilihan karena saya mendapatkan waktu eksekusi yang berbeda. Lebih buruk lagi, kadang-kadang (jarang, tapi itu terjadi) waktu pelaksanaan prosedur tersimpan kedua lebih besar dari waktu pelaksanaan prosedur pertama (saya kira karena beban kerja server pada saat itu).
2 / Include client statistics
juga memberikan hasil yang berbeda.
3 / DBCC DROPCLEANBUFFERS
, DBCC FREEPROCCACHE
bagus, tapi cerita yang sama ...
4 / SET STATISTICS IO ON
bisa menjadi pilihan, tetapi bagaimana saya bisa mendapatkan skor keseluruhan karena saya memiliki banyak tabel yang terlibat dalam prosedur tersimpan saya?
5 / Include actual execution plan
bisa menjadi pilihan juga. Saya mendapatkan estimated subtreecost
0,3253 untuk prosedur tersimpan pertama, dan 0,3079 untuk prosedur kedua. Dapatkah saya mengatakan prosedur tersimpan kedua adalah 6% lebih cepat (= 0,3253 / 0,3079)?
6 / Menggunakan bidang "Baca" dari SQL Server Profiler?
Jadi bagaimana saya bisa mengatakan bahwa prosedur tersimpan kedua adalah x% lebih cepat dari prosedur pertama, tidak peduli kondisi eksekusi (beban kerja server, server tempat prosedur tersimpan ini dijalankan, dll)?
Jika tidak memungkinkan, bagaimana saya bisa membuktikan prosedur tersimpan kedua memiliki waktu eksekusi yang lebih baik daripada prosedur tersimpan pertama?