3
ลำดับฟิลด์ในลำดับดัชนีคอมโพสิตที่มีการเลือกสูงและฟิลด์การเลือกต่ำ
ฉันมีตาราง SQL Server ที่มีมากกว่า 3 พันล้านแถว หนึ่งในคำถามของฉันใช้เวลานานมากดังนั้นฉันจึงพิจารณาที่จะเพิ่มประสิทธิภาพ แบบสอบถามมีลักษณะดังนี้: SELECT [Enroll_Date] ,Count(*) AS [Record #] ,Count(Distinct UserID) AS [User #] FROM UserTable GROUP BY [Enroll_Date] [Enroll_Date] เป็นคอลัมน์การเลือกต่ำที่มีค่าน้อยกว่า 50 ค่าในขณะที่คอลัมน์ UserID เป็นคอลัมน์เลือกสูงที่มีค่าแตกต่างกันมากกว่า 200 ล้านรายการ จากการวิจัยของฉันฉันเชื่อว่าฉันควรสร้างดัชนีคอมโพสิตแบบไม่รวมกลุ่มในสองคอลัมน์นี้และในทางทฤษฎีแล้วคอลัมน์การเลือกสูงควรเป็นคอลัมน์แรก แต่ฉันไม่แน่ใจว่าในกรณีของฉันจะทำงานได้เพราะฉันใช้คอลัมน์หัวกะทิต่ำในกลุ่มโดยข้อ ตารางนี้ไม่มีดัชนีคลัสเตอร์