@MartinSmith บอกว่าถ้าคุณเคยอัพเกรดเป็น SQL 2008 แล้วดัชนีที่กรองแล้วจะเป็นทางออกที่สมบูรณ์แบบ อย่างไรก็ตามในเวลาเฉลี่ยในกรณีทั่วไปดัชนีใด ๆ ที่เพิ่มจะเพิ่มความเร็วในการโหลดของคุณ ดัชนีขนาดเล็กน้อยกว่าดัชนีขนาดใหญ่
สิ่งหนึ่งที่ฉันจะดูคือถ้าคุณมีดัชนีที่มีอยู่ซึ่งสามารถแก้ไขได้ สมมติว่าคำค้นหาที่มีอยู่ของคุณกำลังใช้ดัชนีที่กำหนดจากนั้นเพิ่มคอลัมน์บิตที่ส่วนท้ายของดัชนีนั้นควรมีผลกระทบน้อยที่สุดต่อส่วนแทรกและผลกระทบเชิงบวกที่คุณกำลังค้นหาในแบบสอบถามของคุณ
สิ่งต่อไปที่ต้องดูคือ "ฉันมีดัชนีจำนวนมากแล้วหรือยัง?" ไม่มีกฎที่ยากและรวดเร็วว่า "มาก" คืออะไร แต่ฉันมักจะไปโดยกฎ 10 ดัชนีเป็นข้อ จำกัด เว้นแต่ฉันต้องการจริงๆใหม่
ความคิดล่าสุดลองทดสอบกับตัวอย่างทดสอบ ตั้งค่าตารางด้วยสองสามล้านแถวเรียกใช้โหลดของคุณเพิ่มดัชนีของคุณแล้วเรียกใช้โหลดของคุณอีกครั้งและดูว่าคุณสังเกตเห็นการเพิ่มขึ้นอย่างมีนัยสำคัญในเวลาโหลด
มีเพียงคุณเท่านั้นที่สามารถตัดสินใจได้ว่า "สำคัญ" คืออะไร ฉันมีเครื่องที่เพิ่มความเร็วในการโหลด 5 นาทีเป็น "สำคัญ" และอื่น ๆ ที่ฉันสามารถเห็นการเพิ่มขึ้นอย่างปลอดภัยสองสามชั่วโมง
แก้ไข:
ตัวเลือกอื่นคือการแบ่งพาร์ติชันตารางของคุณ คุณอาจต้องใช้มุมมองที่แบ่งพาร์ติชันหากคุณไม่ได้ใช้รุ่น Enterprise แต่ก็ควรช่วยด้วย คุณใส่บิต 0 ในพาร์ติชันหนึ่งและบิต 1 ของคุณในพาร์ติชันอื่น สมมติว่าคุณกำลังแทรกรุ่นหนึ่งหรือรุ่นอื่นจากนั้นคุณอาจเพิ่มความเร็วในการแทรกของคุณ