- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
计算机软件教研室 第8章 索引的创建和使用 本章内容 1 8.1 概述 2 8.2 创建索引 3 8.3 查看、修改和删除索引 本章目标 理解索引的概念和优点; 理解索引的分类; 掌握索引的创建、查看、修改和删除。 8.1 概述 8.1.1 索引的概念 在数据库中,索引使数据库程序无须对整个表进行扫描,就可以在其中找到所需数据。 表扫描 索引查找 8.1 概述 8.1.1 索引的概念 索引是一个单独的、物理的数据库结构, 依赖于表来建立。 索引包含从表或视图中一个或多个列生成的键,以及映射到指定数据的存储位置的指针。 通常一个表的存储可分为两部分:一是用来存放表的数据页面,另一部分存放索引页面。索引就存放在索引页面上,通常相对于数据页面来说小得多。 8.1 概述 8.1.2 索引的优点 可以大大加快数据检索速度。 通过创建唯一索引,可以保证数据记录的唯一性。 在使用ORDER BY和GROUP BY子句进行检索数据时,可以显著减少查询中分组和排序的时间。 使用索引可以在检索数据的过程中使用优化隐藏器,提高系统性能。 8.1 概述 8.1.2 索引的优点 缺点 占用存储空间 在表中插入或更新表中数据时,将有额外的操作来维护索引; 过多的索引起反作用。 建立索引的原则 P156 8.1 概述 8.1.3 索引的分类 1、聚集索引和非聚集索引 根据存储结构的不同进行划分。 2、唯一索引 聚集索引 聚集索引对表的物理数据页中的数据按列进行排序,然后再重新存储到磁盘上。换句话说,如果在一个表中建立了聚集索引,则表中的数据页会按照该索引的顺序来存放。 优点:查找数据很快 缺点:完全重排数据,要相当于数据所占用空间的120% 注意考虑以下几个因素:(P156) 每个表只能有一个聚集索引; 创建非聚集索引之前要先创建聚集索引 关键值的唯一性使用UNIQUE或标识符明确维护 保证有足够的临时空间来创建聚集索引 非聚集索引 非聚集索引具有完全独立于数据行的结构。使用非聚集索引不用将物理数据页中的数据按列排序。即不会影响数据表中记录的实际存储顺序。在它其中,存储了组成非聚集索引的关键字值和行定位器。 在一个表中可以创建多个非聚集索引。最多可以创建249个非聚集索引。 优点:占用空间较少 缺点:检索效率较低 8.1 概述 8.1.3 索引的分类 1、聚集索引和非聚集索引 2、唯一索引 根据索引字段值是否允许重复进行划分。 唯一索引 若希望在表中创建唯一索引,则该字段或字段组合的值在表中必须具有唯一性,即表中任何两条记录的索引值都不能相同。 同样,若表中基于某个字段或字段组合存在两条以上的记录中有相同的值,将不能基于该字段或字段组合创建唯一索引。 注意:建立唯一索引的字段最好也设置为not null,因为两个null值将被认为是重复的字段值。 向表中添加记录或修改记录时,系统将检查添加的记录或修改后的记录是否会造成唯一索引键值的重复。若造成唯一索引键值的重复,系统将拒绝执行该操作。 8.2 创建索引 8.2 创建索引 1、系统自动创建索引 在SQL Server2005中建立或修改数据表时,若创建或添加了主键约束或唯一性约束,则系统会基于添加约束的字段自动创建索引。 创建规则(P158) 例如:sp_helpindex tb_ksryxx 2、用户手工创建索引 8.2 创建索引 8.2.1 使用SSMS创建索引 两种方法: 方法一:选择“新建索引”项; 方法二:选“索引/键”来创建。 8.2 创建索引 8.2.2 使用T-SQL语句来创建索引 语法格式: CREATE [ UNIQUE ] [ CLUSTERED | NONCLUSTERED ] INDEX index_name ON { table | view } ( column [ ASC | DESC ] [ ,...n ] ) 8.2 创建索引 8.2.2 使用T-SQL语句来创建索引 例8-2-1 在tb_ksryxx表上创建一个唯一性非聚集索引ix_xm,索引字段为xm。 create unique nonclustered index ix_xm on tb_ksryxx(xm asc) go 8.3 查看、修改和删除索引 (一)查看索引 选择“索引/键”来进行查看; 使用系统存储过程: sp_helpindex 表名 (二)更改索引名称 使用SSMS更改索引名称; 使用系统存储过程: sp_rename oldname,newname,‘index’ (三)删除索引 使用SSMS删除索引; 使用T-SQL语句: DROP I
文档评论(0)