SQL Server非聚集索引笔记

SQL Server非聚集索引笔记

创建表TTest

CREATE TABLE [dbo].[TTest](
	[TestID] [INT] NOT NULL,
	[TestName] [VARCHAR](50) NOT NULL,
	[No] [INT] NOT NULL
) ON [PRIMARY]

在表TTest上创建联合索引

CREATE NONCLUSTERED INDEX [NonClusteredIndex-Test] ON [dbo].[TTest]
(
	[TestID] ASC,
	[TestName] ASC,
	[No] ASC
)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, SORT_IN_TEMPDB = OFF, DROP_EXISTING = OFF, ONLINE = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY]

where条件不带索引列集合首位查询

SELECT TestID,TestName,[No] 
FROM OperAllowDB.dbo.TTest 
WHERE  TestName= '3' AND No = 2

SQL执行计划:
在这里插入图片描述可以看出使用的是索引扫描。
where条件带索引列集合首位查询

SELECT TestID,TestName,[No] 
FROM OperAllowDB.dbo.TTest 
WHERE  TestID = 2

SQL查询计划:
可以看出使用的是索引查找。

发布了8 篇原创文章 · 获赞 1 · 访问量 4025

猜你喜欢

转载自blog.csdn.net/qq_39111577/article/details/105638218
今日推荐