http://www.sqlservercentral.com/articles/Stairway+Series/72284/
我正在阅读这篇 sqlservercentral 文章,他们正在使用它进行查询。
SELECT *
FROM Person.Contact
WHERE FirstName = 'Helen'
AND LastName = 'Meyer';
GO
为了使上述搜索更快,他们创建了以下索引。
CREATE NONCLUSTERED INDEX FullName
ON Person.Contact
( LastName, FirstName );
GO
我无法弄清楚我们在 where 子句中的名字,然后是姓氏。并且在索引中它的顺序相反(姓氏,名字)
当我们创建复合索引时,它在这里有何不同。我知道姓氏将首先排序,然后名字将被排序。
我通过以两种方式(姓氏,名字)和(名字,姓氏)创建索引来检查统计信息。
(lastname, firstname) 方法稍微快一些,我想知道为什么 where 子句顺序和索引列顺序相反?