เรามีฐานข้อมูลขนาดใหญ่มากที่มีดัชนีที่ไม่ได้ใช้หลายร้อยตามสถิติ DMV ซึ่งได้รับการสะสมตั้งแต่เซิร์ฟเวอร์รีบูตครั้งล่าสุดในเดือนกรกฎาคม หนึ่งใน DBA ของเราทำข้อความเตือนต่อไปนี้ซึ่งไม่สมเหตุสมผลสำหรับฉัน:
- ก่อนที่เราจะวางดัชนีเราจำเป็นต้องตรวจสอบให้แน่ใจว่ามันไม่ได้บังคับใช้ข้อ จำกัด ที่ไม่ซ้ำกันเนื่องจากเครื่องมือเพิ่มประสิทธิภาพการสืบค้นอาจต้องมีดัชนีนี้อยู่
- เมื่อใดก็ตามที่มีการสร้างดัชนีสถิติที่เกี่ยวข้องกับดัชนีนั้นจะถูกสร้างขึ้นใน SQL Server ด้วย แบบสอบถามอาจไม่ได้ใช้ดัชนี แต่อาจใช้สถิติของแบบสอบถาม ดังนั้นเราอาจพบสถานการณ์หลังจากวางดัชนีประสิทธิภาพการสืบค้นเฉพาะจะแย่มาก SQL Server ไม่เก็บสถิติการใช้งานของสถิติ แม้ว่าเราจะเปิดใช้งานคุณลักษณะ "สร้างสถิติอัตโนมัติ" ในฐานข้อมูลของเรา แต่ฉันไม่ทราบว่าจะต้องทำตามพารามิเตอร์ทั้งหมดภายในใดก่อนที่เครื่องมือเพิ่มประสิทธิภาพการสืบค้นจะสร้างสถิติที่ขาดหายไป
เกี่ยวกับ # 1 ฉันคิดว่า SQL Server จะทำการค้นหาดัชนีเพื่อตรวจสอบความเป็นเอกลักษณ์ก่อนที่จะทำการแทรก / อัพเดทดังนั้นดัชนีจะไม่แสดงว่าไม่ได้ใช้งาน
เกี่ยวกับข้อที่ 2 เป็นไปได้จริงหรือ
โดยวิธีเมื่อฉันบอกว่าดัชนีไม่ได้ใช้ฉันหมายถึงไม่มีการค้นหาและไม่มีการสแกน