复合索引(索引有两个以上的列) 索引在数据库中是以B树的形式存储的。包含A,B两个列的索引会首先根据A列建B树,A列的叶节点上才会开始根据B列建B树。所以包含两个列的索引就需要根据查询条件所在列来决定两个列在索引中的顺序。举例: show sourceview sourceprint?01 USE [Test] 02 GO 03 /****** 对象: Table [dbo].[testIndexOrder] 脚本日期: 05/27/2010 09:11:26 ******/ 04 SET ANSI_NULLS ON 05 GO 06 SET QUOTED_IDENTIFIER ON 07 GO 08 CREATE TABLE [dbo].[testIndexOrder]( 09 [ID] [int] IDENTITY(1,1) NOT NULL, 10 [FirstName] [nvarchar](20) COLLATE Chinese_PRC_CI_AS NOT NULL, 11 [LastName] [nvarchar](20) COLLATE Chinese_PRC_CI_AS NOT NULL, 12 [Desc] [nvarchar](400) COLLATE Chinese_PRC_CI_AS NULL, 13 CONSTRAINT [PK_testIndexOrder] PRIMARY KEY CLUSTERED 14 ( 15 [ID] ASC 16 )WITH (IGNORE_DUP_KEY = OFF) ON [PRIMARY] 17 ) ON [PRIMARY] 18 GO 19 /****** 对象: Index [IX_testIndexOrder] 脚本日期: 05/27/2010 09:11:51 ******/ 20 CREATE NONCLUSTERED INDEX [IX_testIndexOrder] ON [dbo].[testIndexOrder] 21 ( 22 [FirstName] ASC, 23 [LastName] ASC 24 )WITH (SORT_IN_TEMPDB = OFF, DROP_EXISTING = OFF, IGNORE_DUP_KEY = OFF, ONLINE = OFF) ON [PRIMARY] 25 GO
2017年计算机等考三级网络技术辅导:SQLServer索引.doc