一 索引的分类
1 聚集索引: 就是表中的主键,每个表中只能有一个聚集索引.
2 非聚集索引: 根据查询条件的不同设置的索引
二 索引使用的场景
索引一般建在经常使用的的列上,如用户登录时,经常会根据用户名查出,用户密码,这个时候一般在用户名字段上增加索引
1 索引的创建的代码
create nonclustered index index_username on userinfo(username)--在userinfo表的username字段上创建非聚集索引
2 索引的使用:
当使用下面的语句的时候,不会进行全表扫描,而是直接定位到指定记录,加快查询速度
select id ,username,password from userinfo where username='xw'
3 索引的弊端:
a 增加存储空间:添加一条索引同时会磁盘空间增加些内容。(如果表中已有大量数据,再去建立索引则会导致,索引建立很慢,因为会不停的写磁盘)
b 降低insert,update,delete的速度。
4 表结构
CREATE TABLE [dbo].[userinfo] (
[id] int NOT NULL ,
[username] varchar(20) NULL ,
[password] varchar(20) NULL
)
5 表数据
INSERT INTO [dbo].[userinfo] ([id], [username], [password]) VALUES (N'1', N'xw', N'123456')
三 利用 SQL Server Profiler 查询耗时长的SQL语句
1 如何打开 SQL Server Profiler?
打开方法: 先打开SQL Server Management Studio ,在点击 工具 栏 , 选择 SQL Server Profiler即可
2 查看SQL Server Profiler执行的SQL 语句的耗时情况(查看 执行 SQL语句 select * from userinfo 所消耗的时间)?
如下图所示不到1秒的时间