案例一:验证索引的作用
1、首先创建一个数据量大的表,名称为“学生表”,分别有三列,学号,姓名和班级,如下图所示,学号为自动编号,班级为默认值“一班”。
2、向表中插入大量数据,数据越多,验证索引的效果越好。
使用语句完成:While 1>0 Insert into 学生表(姓名) values(‘于美丽’)
上面语句是一个死循环,除非强制结束,如果1大于0就会一直向表中插入姓名
如下图所示:
等待5分钟左右,打开表的属性,查看表的行数,当前为1032363,如下图所示:
3、使用语句查询第900000行的数据,Select * from 学生表 Where 学号=900000
4、打开“sql server profiler ”工具进行跟踪,如下图所示:
打开“sql server profiler ”工具查看跟踪的信息,发现查询时间很长,cpu工作了265毫秒,reads:读了8649次,writes:写了10次,duration:总计花费2336毫秒完成查询。
为了下面分析文件更准确,多执行几次Select * from 学生表 Where 学号=900000
然后把跟踪的结果保存在桌面上:
5、打开“数据库引擎优化顾问”,添加跟踪文件,进行分析,发现索引建议,需要建立索引。
注意选择benet数据库中的学生表,然后点击“开始分析”
索引类型为clusterd(聚集索引),索引列为“学号”。
6、按照“数据库引擎优化顾问”的索引建议建立聚集索引,并且选择“唯一”
7、再次执行Select * from 学生表Where 学号=900000
8、打开sql server profiler查看跟踪的时间,发现查询时间大幅提升,说明索引可以提高查询速度。
发现总计时间为1毫秒,几乎忽略不计
转载于:https://blog.51cto.com/11674854/1877489