欢迎来到天天文库
浏览记录
ID:43701262
大小:221.00 KB
页数:22页
时间:2019-10-12
《关系数据库与SQLServer2005教学课件作者龚小勇第21讲索引课件》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、第6章视图和索引——索引的使用主讲人:段利文第21讲复习数据库的查询基本查询、汇总查询、连接查询、子查询视图的使用视图的用途创建视图修改视图查看视图的定义通过视图向数据表插入数据聚焦特定数据简化数据操作定制用户数据合并分离数据createview视图名asselect语句Execsp_helptext视图名Insertinto视图名values(列值表)alterview视图名asselect语句引:请思考:在一个数据表中检索数据时是如何进行的?如果采取逐行扫描的方式进行检索,可行吗?有什么方法可提高检索效率?对于小表来说,是可行的。但对于有成千上万
2、行的表来说,其搜索的效率非常低。建立索引。第6章视图和索引教学内容基础知识:索引的基本概念创建索引操作索引全文索引(了解)第6章视图和索引学习目标认知目标:掌握索引的概念理解创建索引的必要性掌握几种索引类型的特点和它们适合的场合了解全文索引的概念能力目标:掌握用命令方式创建索引的方法(重点、难点)掌握查看、删除索引的方法(重点)一、索引的基本概念1.索引的含义索引:是对表或视图中的一列或多个列的值进行排序的一种物理结构,它由该表或视图中的一列或若干列值,以及这些列值的记录在数据表中存储位置的物理地址所组成。索引如同书的目录索引信息存放在索引页中,表中
3、的数据存放在数据页中。一、索引的基本概念2.建立索引的优缺点建立索引的优点建立了索引的列作为查询条件时,数据的检索速度能大大地提高。增加索引的不利方面创建索引也要花费时间和占用物理空间。虽然索引加快了检索速度,但减慢了数据修改的速度(因为每执行一次数据修改,就需要对索引进行维护)。一、索引的基本概念3.使用索引的准则何时创建索引?在主键上在用于连接的列(外键)上在经常用作查询条件的列上在经常要排序的列上一、索引的基本概念3.使用索引的准则何时可不考虑建立索引?很少或从来不作为查询条件的列在小表中的任何列属于text、image、长度较大的char、v
4、archar、binary等数据类型的列当修改的性能需求远大于查询的性能需求时,不要创建索引一、索引的基本概念4.索引的类型按数据的物理存放顺序:聚集索引:会改变表记录的物理存储顺序,使之与索引列的顺序完全相同(适用于范围搜索)。非聚集索引:不改变表记录的存放顺序(适用于直接匹配单个条件的查询)。按索引列取值的唯一性:唯一索引:要求被索引列不能有重复值,也不能有两个NULL。非唯一索引:不存在这一限制。按索引列的个数:单索引、复合索引二、创建索引1.创建索引的方法系统自动建立索引人工创建索引T-SQL命令方式(掌握)企业管理器方式使用索引管理器二、创
5、建索引2.系统自动建立索引添加主键约束时系统会自动在表中生成一个聚集惟一索引。在xsqk表的“学号”列上已创建了聚集惟一索引(名为PK_xsqk)在xs_kc表的“学号和课程号”两列上已创建了聚集惟一索引在kc表中的“课程号”列上已创建了聚集惟一索引添加惟一性约束时系统会自动在表中生成一个非聚集惟一索引。二、创建索引2.系统自动建立索引实例1:创建一个名为test的表,其结构定义如下。usexscjcreatetabletest(课程号smallintconstraintpk_testprimarykey,课程名char(14)constraintu
6、q_testunique,授课教师char(10))生成惟一性聚集索引生成惟一性非聚集索引二、创建索引3.手工建立索引—(1)表索引命令格式create[unique][clustered
7、nonclustered]index索引名on{表名
8、视图名}(列名[asc
9、desc][,...n])说明:一个表中只能创建1个聚集索引。由于系统已自动在主键上创建了聚集索引,所以用户不能再创建,除非先删除已有的。一个表中可以创建若干个非聚集索引。默认值二、创建索引3.手工建立索引—(1)表索引实例2:在kc表的“课程名”列上创建一个非聚集索引,索引名为“ix_
10、kcm”,并降序排列。实例3:在kc表中,重新创建名为“ix_kcm”的索引,使其成为惟一性的非聚集索引。createuniqueindexix_kcmonkc(课程名desc)withdrop_existingcreateindexix_kcmonkc(课程名desc)删除同名的原索引,重建新索引。二、创建索引3.手工建立索引—(1)表索引实例4:已知xs_kc表中的“学号”和“课程号”两列已设置为主键,主键约束名为“PK_xs_kc”,请重新创建这两列的组合索引,使学号降序排列,使索引页填满60%后就换新页进行填充。createuniqueclu
11、steredindexpk_xs_kconxs_kc(学号desc,课程号)withpad_index,fi
此文档下载收益归作者所有