3
where子句中的列顺序应该与索引顺序相同吗?
我正在阅读use-the-index-luke.com,其中详细说明了索引的工作方式。该人员再次重申的一件事是,索引的顺序非常重要,为了使查询快速,where子句列应与索引中的列相同。今天,我只是证实了这一理论,并在SQL Server 2008上创建了一个表(id int,名称nvarchar(100))。我在其中插入了约5000行并创建了一个索引 create index abc on test (name, id ) 并触发了查询 select ID, name from test where ID = 10 and name = '10' 我原本希望在查询计划中进行全表扫描,然后再进行选择,但令我惊讶的是,计划的输出是选择所跟随的索引扫描。 因此,我的问题是Where子句中的列顺序很重要还是SQL Server根据索引定义重新排列了它们? 谢谢 !!