SQL Server 2005包含“覆盖索引”功能,该功能允许我们选择多个非密钥列包含在现有的非聚簇索引中。
例如,我有以下列:
EmployeeID, DepartmentID, DesignationID, BranchID
以下是两种情况:
EmployeeID
是主键
聚集索引和剩余的
列(DepartmentID
,DesignationID
,
BranchID
)被视为非群集
index(综合指数)。
EmployeeID
是主键
聚集索引和DepartmentID
是
非聚集索引
DesignationID
,BranchID
已包含在内
列“用于非聚集索引。
以上两者有什么区别?如果两者都是相同的新引入“覆盖指数”概念?
答案 0 :(得分:3)
不同之处在于,如果第一个索引中有两个具有相同DepartmentID的行,则它们将根据其DesignationID和BranchID的值进行排序。在第二种情况下,它们不会相对于彼此进行排序,并且可以在索引中以任何顺序出现。
就这对您的申请意味着什么:
答案 1 :(得分:0)
涵盖索引是包含INCLUDE子句
的非聚簇索引