【发布时间】:2012-04-04 15:59:03
【问题描述】:
假设我有一个典型的客户表;
Id Int Identity Primary Key,
FirstName varchar(255),
LastName varchar(255),
Phone VarChar(30)
所以主键会在 Id 上创建一个聚集唯一索引。
为了加快搜索速度,我想为名称字段添加索引。
我的问题是我是否应该将 Id 添加到这些索引中,或者这些索引是否会与主键绑定。
例如;
Create Index IX_Customer_FirstLastName On Customers(FirstName, LastName, Id)
...这是矫枉过正吗?
下面的效率更高还是更低?
Create Index IX_Customer_FirstLastName On Customers(FirstName, LastName)
TIA
【问题讨论】:
-
你会搜索什么?始终使用完整的名字/姓氏或单独或...?
-
嗯,这实际上更像是一个通用问题。将主键字段放在表的任何其他索引上是否有任何好处?
-
一般不,@MichaelFredrickson 的回答几乎涵盖了它。
-
感谢您的意见约阿希姆
标签: tsql database-indexes