/* 1、查看索引:sp_helpindex tablename 2、主键是聚集唯一索引 (×) 主键默认情况下是聚集唯一索引,在建主键时可以给它指定为非聚集索引nonclustered 聚集索引与唯一unique索引没什么关系 3、一个表中只能有一个聚集索引clustered,而可以有多个非聚集索引nonclustered 4、聚集索引比非聚集索引快, 5、使用索引:with tablename.indexname */ --创建索引 create index idx_01 on person(name) --使用索引 select * from person with (index(idx_01)) --查看索引 sp_helpindex t2 --创建聚集索引 create clustered index in01 on t2(sid) --删除索引 drop index t2.in01 --创建非聚集索引 create nonclustered index in01 on t2(tid) --删除索引 if (select name from sys.indexes where name='in01') is not null drop index t2.in01 go /* 验证索引的作用 */ create table temp ( id int not null primary key identity(1,1), record int ) go create proc proc_insert$temp @times int as declare @i int set @i=0 while @i<@times begin set @i=@i+1 insert into temp(record) values(100) end go --环境:Server2003虚拟机,花时102s exec proc_insert$temp 300000 --不要索引查询时间 select * from temp --创建索引 create index idx_temp on temp(id) --使用索引查询时间 select * from temp with (index(idx_temp)) --使用索引插入数据时间 truncate table temp exec proc_insert$temp