资源描述
,2017/7/15,0,单击此处编辑母版标题样式,单击此处编辑母版文本样式,第二级,第三级,第四级,第五级,12.1,了解索引,教学案例,1,:,通过以下对测试数据的操作,我们来理解索引对于数据管理效率的双面性(利,/,弊),1,、在,Exam,数据库建立测试用数据表,t1,(,1,万条数据),-if(select object_id(t1)is not null drop table dbo.t1;,-go,-create table dbo.t1(c1 int,c2 int,c3 char(50);,-select top 10000 identity(int,1,1)as n into#Nums from master.dbo.syscolumns;,-insert into dbo.t1(c1,c2,c3)select n,n,c3 from#Nums;,-drop table#Nums;,12.1,了解索引,教学案例,1,:,通过以下对测试数据的操作,我们来理解索引对于数据管理效率的双面性(利,/,弊),2,、索引对数据查询性能的提升(利),2-1,、,sql,数据查询性能测试,无索引情况,Set Statistics Io On,Set Statistics Time On,select*from t1 where c1=2;,性能报告如下:,数据库技术-SQL Server,数据库技术-SQL Server,update t1 set c1=1,c2=1 where c2=1;,Set Statistics Io On,工作任务之:1、了解索引 2、使用索引,Set Statistics Io On,2-1、sql数据查询性能测试无索引情况,书目类似,如果想快速查找而不是逐页查找指定的内容,索引就通过记录表中的关键值来指向数据表中的记录,这样数据库引擎就不用扫描整个表而能快速定位到相关记录。,1、在Exam数据库建立测试用数据表t1(1万条数据),3-1、无索引情况下执行更新操作,并查阅性能报告,数据库是大量数据的集散地,特别是对于企业级的大型数据库,一个数据表中存放的数据记录数更是可以形容为“不计其数”。,2、索引对数据查询性能的提升(利),数据库中索引与图书馆的,教学案例1:通过以下对测试数据的操作,我们来理解索引对于数据管理效率的双面性(利/弊),Set Statistics Io On,12.1,了解索引,教学案例,1,:,通过以下对测试数据的操作,我们来理解索引对于数据管理效率的双面性(利,/,弊),2-2,、在,c1,列上添加聚集索引后再测试以上数据查询性能,create clustered index i1 on t1(c1);,select*from t1 where c1=2;,性能报告如下:,12.1,了解索引,教学案例,1,:,通过以下对测试数据的操作,我们来理解索引对于数据管理效率的双面性(利,/,弊),3,、索引对数据更新的影响(弊),3-1,、无索引情况下执行更新操作,并查阅性能报告,update t1 set c1=1,c2=1 where c2=1;,3-2,、建立索引后执行相同的更新操作,并查阅性能报告,create clustered index i2 on t1(c2);,update t1 set c1=1,c2=1 where c2=1;,3-3,、在有索引的表非索引列执行更新操作,并查阅性能报告,update t1 set c1=1,c2=1 where c3=c1;,12.1,了解索引,知识点:,索引的结构,在索引结构中,由索引值(包含由表或视图中的一列或多列生成的键)及其相应数据记录的物理地址两个组成部分。在,SQL Server,中,索引是按,B,树结构进行组织的。如右下图所示:,知识点:,索引的维护,在一个表上创建索引,不会影响对表的使用方式,只影响数据的检索效率,一旦建立了索引,在用户表中新增、更改和删除数据时,,DBMS,就自动地维护索引。总之,索引由系统自动维护和使用,不需要用户参与。,
展开阅读全文