คำตอบอื่น ๆ ที่ถูกต้องเกี่ยวกับเหตุผลที่จะไม่DBCC FREEPROCCACHE
ทำงาน อย่างไรก็ตามมีเหตุผลสองสามประการที่ต้องทำ:
- ความมั่นคง
หากคุณต้องการเปรียบเทียบแบบสอบถามหรือขั้นตอนที่แตกต่างกันสองรายการที่พยายามทำสิ่งเดียวกันด้วยวิธีที่ต่างกันพวกเขามีแนวโน้มที่จะเข้าชมหน้าเดียวกัน หากคุณเรียกใช้คิวรี # 1 อย่างไร้เดียงสาจากนั้นเคียวรี # 2 อาจจะเร็วกว่านั้นเพียงเพราะเพจเหล่านั้นถูกแคชไว้โดยคิวรีแรก หากคุณล้างแคชก่อนการดำเนินการแต่ละครั้งพวกเขาจะเริ่มต้นด้วยฐานราก
หากคุณต้องการทดสอบประสิทธิภาพแคชร้อนแรงโปรดตรวจสอบให้แน่ใจว่ารันคิวรีหลายครั้งสลับกันและทิ้งการรันสองครั้งแรก เฉลี่ยผลลัพธ์
- ประสิทธิภาพที่แย่ที่สุด
สมมติว่าคุณมีคิวรีซึ่งใช้เวลาหนึ่งวินาทีกับแคชร้อน แต่หนึ่งนาทีกับแคชเย็น การปรับให้เหมาะสมซึ่งทำให้การสืบค้นในหน่วยความจำช้าลง 20% แต่การสืบค้น IO-bound ที่เร็วขึ้น 20% อาจเป็นชัยชนะครั้งใหญ่: ในระหว่างการดำเนินการตามปกติจะไม่มีใครสังเกตเห็นการเพิ่ม 200 ms ภายใต้สถานการณ์ปกติ แต่ถ้ามีอะไรบังคับ ทำงานกับดิสก์โดยใช้เวลา 48 วินาทีแทนที่จะเป็น 60 อาจช่วยลดการขายได้
นี่เป็นข้อกังวลน้อยเกี่ยวกับระบบที่ทันสมัยที่มีหน่วยความจำหลายสิบกิกะไบต์และที่จัดเก็บข้อมูล SAN และ SSD ที่ค่อนข้างเร็ว แต่ก็ยังคงสำคัญ หากนักวิเคราะห์บางคนเรียกใช้การค้นหาแบบสแกนตารางจำนวนมากกับฐานข้อมูล OLTP ของคุณซึ่งจะลบแคชบัฟเฟอร์ครึ่งหนึ่งของคุณการสืบค้นที่มีประสิทธิภาพในการจัดเก็บจะช่วยให้คุณสำรองข้อมูลได้เร็วขึ้น
DBCC FLUSHPROCINDB
: มีการระบุจำนวนพารามิเตอร์ที่ไม่ถูกต้องในคำสั่ง DBCC