说我有一张桌子:
CREATE TABLE Users ( Id INT IDENTITY (1, 1), FirstName VARCHAR(40), LastName VARCHAR(40) )
查询通常在FirstName或LastName上,但也可以在FirstName 和 LastName上进行。
如果我在FirstName上创建非聚集索引,在LastName上创建另一个索引,则可以满足我的前两个查询。显然,SQL Server将对其他查询使用索引交集。
或者,如果我在(FirstName)和(LastName,FirstName)上都有索引者,SQL Server可以/可以仅对LastName以及对两者的查询使用第二个索引吗?
SQL Server是否从左到右或从右到左存储复合索引部分?换句话说:它将构建密钥为LastNameFirstName还是FirstNameLastName吗?还是可以随意选择一个?