第六章 sql server2008 索引.pptxVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
第六章 sql server2008 索引

SQL Server 2008 索引 在关系型数据库中,索引是一种可以加快数据检索的数据库结构,它主要用于提高性能。因为索引可以从大量的数据中迅速的找到所需要的数据,不再需要检索整个数据库,从而大大增加了检索的效率。 数据库的索引类似于书籍的目录。在书籍中,目录允许用户不必翻阅完整个书就能迅速地找到所需要的信息。在数据库中,索引也允许数据库程序迅速地找到表中的数据,而不必扫描整个数据库。 大多数SQL Server表需要索引来提高数据的访问速度,如果没有索引,SQL Server要进行表格扫描读取表中的每一个记录才能找到索要的数据。 索引是一个单独的、物理的数据库结构,它是某个表中一列或则若干列的集合和相应的指向表中物理标识这些值的数据页的逻辑指针清单。索引是依赖于表建立的,它提供了数据库中编排表中数据的内部方法。一个表的存储是由两部分组成的,一部分用来存放表的数据页面,另一部分存放索引页面。索引就存放在索引页面上,通常,索引页面相对与数据页面来说小得多。当进行数据检索时,系统先搜索索引页面,从中找到所需数据的指针,再直接通过指针从数据页面中读取数据。某种程度上,可以把数据库看作一本书,把索引看作书的目录,通过目录查找书中的信息,显然比没有目录的书方便、快捷。 索引一旦创建,将由数据库自动管理和维护。例如,在向表中插入、更新或者删除一条记录时,数据库会自动在索引中做出相应的修改。在编写SQL查询语句时,具有索引的表比不具有索引的表没有任何区别,索引只是提供一种快速访问指定记录的方法。一、索引的优点1. 保证数据记录的唯一性。唯一性索引的创建可以保证表中数据记录不重复。2. 大大加快数据的检索速度,这也是创建索引的最主要的原因。3. 加速表和表之间的连接速度。如果从多个表中检索数据,而每个表中都有索引列,则数据库可以通过直接搜索各个表的索引列,找到需要的数据。不但加快了表间的连接速度,也加快了表间的查询速度。4. 在使用分组子句(GROUP BY)和排序子句(ORDER BY)进行数据检索时,同样可以显著减少查询中分组和排序的时间。二、索引的缺点1. 创建索引和维护索引要耗费时间,这种时间随着数据量的增加而增加。2. 索引需要占物理空间,除了数据表占数据空间之外,每一个索引还要占一定的物理空间。3. 当对表中的数据进行增加、删除和修改的时候,索引也要动态的维护,降低了数据的维护速度。SQL Server 2008 索引三、索引的分类1. 从数据的存储结构上划分:聚集索引:正文本身就是一种按照一定规则排列的目录 。当为一个表的某列创建聚集索引时,表中的数据会按该列进行重新排序,然后再存储到磁盘上。因此,每个表只能创建一个聚集索引。使用聚集索引的最大好处是能够根据查询要求,迅速缩小查询范围,避免全表扫描。非聚集索引:与课本中的目录类似。数据存储在一个地方,索引存储在另一个地方,索引带有指针指向数据的存储位置。2. 从数据的唯一性来划分:唯一索引:要求被索引列不能有重复的值(包括NULL值)非唯一索引:无此要求 当为数据表定义一个主键,系统默认建立一个索引,称主键索引。主键索引是唯一索引的特例。3. 从索引所指定的键列个数来划分:单列索引:是指为表的的某单一字段创建索引多列索引(组合索引):则指在表的多个字段集合上创建的索引。SQL Server 2008 索引四、索引的操作 1)、使用SQL SERVER管理平台创建索引 2)、使用CREATE INDEX 语句创建索引 CREATE [ UNIQUE ] [ CLUSTERED ] [ NONCLUSTERED ] INDEX 索引名 ON 表名|视图名 (列名) 注释:[ UNIQUE ] [ CLUSTERED ] [ NONCLUSTERED ] 唯一索引 聚集索引 非聚集索引 3)、使用索引向导创建索引SQL Server 2008 索引【例1】为学生信息管理数据库中的学生表中的姓名建立索引。 CREATE NONCLUSTERED INDEX i_name ON 学生(姓名) 【例2】为学生信息管理数据库中的课程表中的课程名建立索引。 CREATE NONCLUSTERED INDEX i_kcname ON 课程(课程) 【例3】为学生信息管理数据库中的学生表、课程表两个表建立索引。其中学生表按学号升序建唯一索引,课程表按课程编号降序建唯一索引. CREATE UNIQUE INDEX i_sno ON 学生(学号) CREATE UNIQUE INDEX i_kcbh ON 课程(课程编号 DESC)【例4】给货物管理系统Goods_Manage数据库中的goods_info表创建一个唯一索引,其

文档评论(0)

tt435678 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档