ฉันมี 2 โพรซีเดอร์ที่เก็บซึ่งโพรซีเดอร์ที่เก็บที่สองคือการปรับปรุงของโพรซีเดอร์แรก
ฉันพยายามวัดว่าการปรับปรุงนั้นดีเพียงใด
1 / การวัดclock time
ไม่ได้เป็นตัวเลือกเนื่องจากฉันได้รับเวลาในการดำเนินการที่แตกต่างกัน ยิ่งแย่ลงบางครั้ง (ไม่ค่อยเกิดขึ้น แต่เกิดขึ้น) เวลาดำเนินการของโพรซีเดอร์ที่เก็บไว้สองครั้งนั้นใหญ่กว่าเวลาดำเนินการของโพรซีเดอร์แรก (ฉันเดาว่าเนื่องจากเวิร์กโหลดเซิร์ฟเวอร์ในขณะนั้น)
2 / Include client statistics
ยังให้ผลลัพธ์ที่แตกต่าง
3 / DBCC DROPCLEANBUFFERS
, DBCC FREEPROCCACHE
เป็นสิ่งที่ดี แต่เป็นเรื่องเดียวกัน ...
4 / SET STATISTICS IO ON
อาจเป็นตัวเลือก แต่ฉันจะได้คะแนนโดยรวมได้อย่างไรเนื่องจากฉันมีตารางจำนวนมากที่เกี่ยวข้องกับขั้นตอนการจัดเก็บของฉัน
5 / Include actual execution plan
อาจเป็นตัวเลือกด้วย ฉันได้รับestimated subtreecost
0.3253 สำหรับขั้นตอนการจัดเก็บครั้งแรกและ 0.3079 สำหรับขั้นตอนที่สอง ฉันสามารถพูดได้ว่าขั้นตอนการเก็บที่สองเร็วขึ้น 6% (= 0.3253 / 0.3079)
6 / การใช้ฟิลด์ "อ่าน" จาก SQL Server Profiler?
ดังนั้นฉันจะบอกได้อย่างไรว่าขั้นตอนการจัดเก็บที่สองคือ x% เร็วกว่าขั้นตอนแรกไม่ว่าเงื่อนไขการดำเนินการ (ภาระงานของเซิร์ฟเวอร์เซิร์ฟเวอร์ที่ดำเนินการขั้นตอนการจัดเก็บเหล่านี้ ฯลฯ )?
หากไม่สามารถทำได้ฉันจะพิสูจน์ขั้นตอนการจัดเก็บที่สองมีเวลาดำเนินการที่ดีกว่าขั้นตอนการจัดเก็บครั้งแรกได้อย่างไร