【发布时间】:2023-01-05 23:36:40
【问题描述】:
我不记得如何添加索引以便从表中更快地查找。
我有一个主键,但我想要一个索引,以便通过组件代码更快地查找行。
快速阅读:select * from prices where ComponentCode like '%something%'
查看脚本的最后两行
我究竟做错了什么?
CREATE TABLE [dbo].[Prices] (
Id int IDENTITY(1,1) NOT NULL,
ComponentCode varchar(255),
Description VARCHAR(255),
PriceUnit float,
Price float
);
GO
ALTER TABLE [dbo].[Prices]
ADD CONSTRAINT [PK_Prices]
PRIMARY KEY CLUSTERED ([Id] ASC);
GO
CREATE CLUSTERED INDEX CI_Prices ON [dbo].[Prices] (ComponentCode);
GO
【问题讨论】:
-
您真的需要前导通配符吗? (
'%something%') 如果是这样,B 树索引的用途将受到限制(只是给你一些更窄的扫描范围)
标签: sql-server