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?
sumber
Ketika Anda telah mengumpulkan waktu eksekusi selama beberapa hari untuk dua prosedur tersimpan Anda, saya akan merekomendasikan agar Anda menggunakan beranda ini
http://www.evanmiller.org/ab-testing/t-test.html
untuk melihat apakah mereka sebenarnya berbeda.
Perbedaan 6% tidak terdengar banyak, ketika datang ke perbaikan prosedur yang tersimpan. Saya datang untuk mengharapkan dua pesanan besarnya dari rekan saya, dan saya berpura-pura kecewa jika dia hanya mencapai satu urutan besarnya ...
Dia tidak harus menggunakan beranda EvanMiller untuk membuktikan bahwa solusinya bekerja lebih cepat.
Saya juga akan menginstal SQLSentrys (edit :) Plan Explorer dari http://www.sqlsentry.com/ karena ini adalah alat yang jauh lebih baik untuk membandingkan rencana eksekusi.
sumber