當我提取我的表,我得到這個。該表有一個ID
列,它是一個標識列(autoinc)。使用標識列或搜索列上的索引加速SQL查詢?
然後仍然有可讀的客戶號碼,這在理論上是獨一無二的,但該表迄今沒有執行任何操作。
我的客戶正在搜索客戶號碼而不是Id。
我現在的問題是:我是否還應該向CUSTERMERNUMBER
列添加索引(如果是羣集/非羣集?)以提高搜索速度?
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
CREATE TABLE Customer
(
[ID] [int] IDENTITY(1,1) NOT NULL,
[CUSTOMERNUMBER] [nvarchar](50) NULL,
-- other columns
CONSTRAINT [PK_Customer]
PRIMARY KEY CLUSTERED ([ID] ASC)
WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF,
IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON,
ALLOW_PAGE_LOCKS = ON) ON [PRIMARY]
) ON [PRIMARY]
GO
是的索引將有所幫助。但是您不能將它聚集在一起,因爲您的主鍵已經是聚簇索引。你真的需要在這裏使用nvarchar嗎?您是否打算將ascii字符集之外的字符作爲客戶編號的一部分? –
customernumber只是「345345453543534」沒有字母的字符。 – Elisabeth