索引中不同序列的相同字段是不同的

时间:2013-08-17 08:26:01

标签: sql-server-2008 indexing

我创建了两个索引。问题是[BCLIENT], [NAME]并且在第二[NAME], [BCLIENT]中两者是否相等或者它将以不同的方式工作,因为我改变了索引中的序列。

    CREATE NONCLUSTERED INDEX [bclient] ON [dbo].[client] 
(
    [BCLIENT] ASC,
    [NAME] ASC
) 
GO

第二个索引是这样的

 CREATE NONCLUSTERED INDEX [RDATE] ON [dbo].[client] 
(
    [NAME] ASC,
    [BCLIENT] ASC
)

1 个答案:

答案 0 :(得分:1)

不,他们不会平等,也不会一样。

我总是将电话簿示例作为一个很好的参考。

让我们你有一个查询如下

SELECT *
FROm PhoneBook
WHERE Surname = 'TADA'

并且您的索引创建为Surname, Name,索引将被正确使用,但如果索引的顺序为Name, Surname,则查询引擎将无法使用索引,并且必须进行索引扫描/表扫描/聚簇索引扫描。