3
แผนการดำเนินการไม่ได้ใช้ INDEX แต่ใช้การสแกนตาราง
ฉันรู้ว่าเมื่อใช้ดัชนีหรือการสแกนตาราง SQL Server จะใช้สถิติเพื่อดูว่าอันไหนดีกว่า ฉันมีตารางที่มี 20 ล้านแถว ฉันมีดัชนีใน (SnapshotKey, การวัด) และแบบสอบถามนี้: select Measure, SnapshotKey, MeasureBand from t1 where Measure = 'FinanceFICOScore' group by Measure, SnapshotKey, MeasureBand แบบสอบถามส่งคืนแถว 500k ดังนั้นแบบสอบถามจึงเลือกเพียง 2.5% ของแถวของตาราง คำถามคือทำไม SQL Server ไม่ใช้ดัชนี nonclustered ฉันมีและใช้การสแกนตารางแทน? มีการอัพเดทสถิติ ดีที่จะพูดถึงว่าประสิทธิภาพของแบบสอบถามนั้นดี สแกนตาราง ดัชนีบังคับ โครงสร้างตาราง / ดัชนี CREATE TABLE [t1]( [SnapshotKey] [int] NOT …