ฉันเห็นด้วยกับเคดรูส์
บทความนี้จะนำคุณไปสู่เส้นทางที่ถูกต้อง:
สิ่งหนึ่งที่ควรทราบดัชนีคลัสเตอร์ควรมีคีย์เฉพาะ (คอลัมน์ข้อมูลประจำตัวที่ฉันอยากจะแนะนำ) เป็นคอลัมน์แรก โดยทั่วไปจะช่วยให้การแทรกข้อมูลของคุณในตอนท้ายของดัชนีและไม่ก่อให้เกิดดิสก์ IO และการแบ่งหน้าจำนวนมาก
ประการที่สองหากคุณสร้างดัชนีอื่น ๆ ในข้อมูลของคุณและพวกเขาสร้างอย่างชาญฉลาดพวกเขาจะถูกนำมาใช้ใหม่
เช่นลองนึกภาพคุณค้นหาตารางในสามคอลัมน์
รัฐมณฑลรหัสไปรษณีย์
- บางครั้งคุณค้นหาตามรัฐเท่านั้น
- บางครั้งคุณค้นหาจากรัฐและเคาน์ตี
- คุณมักจะค้นหาโดยรัฐเขตไปรษณีย์
จากนั้นดัชนีที่มีรัฐมณฑลรหัสไปรษณีย์ จะถูกใช้ในการค้นหาทั้งสามนี้
หากคุณค้นหาด้วย zip เพียงอย่างเดียวค่อนข้างมากดัชนีข้างต้นจะไม่ถูกใช้ (โดย SQL Server ต่อไป) เนื่องจาก zip เป็นส่วนที่สามของดัชนีนั้นและตัวเพิ่มประสิทธิภาพการสืบค้นจะไม่เห็นดัชนีนั้นเป็นประโยชน์
จากนั้นคุณสามารถสร้างดัชนีบน Zip เพียงอย่างเดียวที่จะใช้ในอินสแตนซ์นี้
โดยวิธีการที่เราสามารถใช้ประโยชน์จากความจริงที่ว่าด้วยการจัดทำดัชนีหลายคอลัมน์คอลัมน์ดัชนีแรกนั้นจะสามารถใช้งานได้สำหรับการค้นหาและเมื่อคุณค้นหาโดย 'สถานะ' เท่านั้นจะมีประสิทธิภาพ แต่ยังไม่มีประสิทธิภาพเท่ากับดัชนีคอลัมน์เดี่ยวในสถานะ ' '
ฉันเดาว่าคำตอบที่คุณกำลังมองหาคือมันขึ้นอยู่กับคำสั่งที่คุณใช้บ่อยและกลุ่มของคุณ
บทความจะช่วยได้มาก :-)