4
กฎที่แข็งและเร็วสำหรับการรวมคอลัมน์ในดัชนี
มีกฎใด ๆ ที่ยากและรวดเร็วในการตัดสินใจว่าควรจะใส่คอลัมน์ใดและเรียงตามลำดับในรวมในดัชนีที่ไม่ทำคลัสเตอร์ ฉันเพิ่งอ่านบทความนี้https://stackoverflow.com/questions/1307990/why-use-the-include-clause-when-creating-an-index และฉันพบว่าสำหรับแบบสอบถามต่อไปนี้: SELECT EmployeeID, DepartmentID, LastName FROM Employee WHERE DepartmentID = 5 โปสเตอร์แนะนำให้สร้างดัชนีแบบนี้: CREATE NONCLUSTERED INDEX NC_EmpDep ON Employee(EmployeeID, DepartmentID) INCLUDE (Lastname) ที่นี่คำถามของฉันมาทำไมเราไม่สามารถสร้างดัชนีเช่นนี้ CREATE NONCLUSTERED INDEX NC_EmpDep ON Employee( EmployeeID, DepartmentID, LastName) หรือ CREATE NONCLUSTERED INDEX NC_EmpDep ON Employee( EmployeeID, LastName) INCLUDE (DepartmentID) และสิ่งใดที่ทำให้ผู้โพสต์ตัดสินใจที่จะเก็บคอลัมน์นามสกุลไว้ด้วย ทำไมไม่คอลัมน์อื่น ๆ และวิธีการตัดสินใจในลำดับที่เราควรเก็บคอลัมน์ที่มี?