《索引SQLServer》PPT课件

《索引SQLServer》PPT课件

ID:45588232

大小:3.86 MB

页数:63页

时间:2019-11-15

《索引SQLServer》PPT课件_第1页
《索引SQLServer》PPT课件_第2页
《索引SQLServer》PPT课件_第3页
《索引SQLServer》PPT课件_第4页
《索引SQLServer》PPT课件_第5页
资源描述:

《《索引SQLServer》PPT课件》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、索引杨之江yangzhijiang@mapgis.net内容索引基本概念索引分类创建索引查看和删除索引索引调整向导Q&A用户对数据库最频繁的操作是进行数据查询,一般情况下数据库在进行查询操作时需要对整个表进行数据搜索当表中的数据很多时,搜索数据就需要很长的时间,这就造成了服务器的资源浪费。为了提高检索数据的能力数据库引入了索引机制1索引基本概念索引是一个单独的、物理的数据库结构,它能够提供一种以一列或多列的值为基础迅速查找表中行的能力索引是某个表中一列或若干列值的集合和相应的指向表中物理标识这些值的数据页的逻辑指针清单索引是依赖于表建立的,它提供了数据库中编排表中数据的内部方法

2、索引使对数据的查找不需要对整个表进行扫描,就可以在其中找到所需数据。可以为表中的单个列建立索引,也可以为一组列(索引项)建立索引索引一般采用B树结构索引的作用对表中的列是否创建索引,以及创建何种索引,对于查询的响应速度会有很大差别。创建了索引的列几乎是立即响应,而不创建索引的列则需要较长时间的等待在数据库系统中创建索引主要有以下作用:①快速存取数据;②保证数据的一致性;③实现表与表之间的参照完整性;④在使用GROUPBY、ORDERBY子句进行查询时,利用索引可以减少排序和分组的时间。索引及数据间的对应关系示意图索引的组织方式索引项按数据页存储。表中的全部索引连在一起。2索引分

3、类聚簇索引(ClusteredIndex,也称为聚集索引)将数据按照索引项的顺序进行物理排序一个表只能有一个簇索引查找数据很快非聚簇索引(Non-clusteredIndex,也称为非聚集索引)。不对数据进行物理排序与表的数据完全分离比簇索引需要更多的存储空间且检索效率较低两类索引相同点聚簇索引和非聚簇索引一般都使用B-树结构来存储索引项,都包含数据页和索引页索引页用来存放索引项和指向下一层的指针数据页用来存放数据。B-树结构聚簇索引聚簇索引的B-树是自下而上建立的,最下层的叶级节点存放数据,它同时也是数据页,多个数据页生成一个中间层节点的索引页,然后再由数个中间层的节点的索引

4、页合成更上层的索引页,如此上推,直到生成顶层的根节点的索引页。建有聚集索引的表的存储结构示意图数据示例enoenamedeptE01ABCSE02AACSE03BBISE04BCCSE05CBISE06ASISE07BBISE08ADCSE09BDISE10BAISE11CCCSE12CACS聚簇索引非聚簇索引2非聚簇索引1索引示例注意定义聚簇索引时使用的列越少越好如果定义了一个大型的聚簇索引,则同一个表上定义的任何非聚簇索引都将增大许多,因为非聚簇索引项将包含聚簇索引的全部列对下列情况可考虑创建聚簇索引包含大量非重复值的列使用下列运算符返回一个范围值的查询:BETWEENAN

5、D、>、>=、<和<=。被连续访问的列返回大型结果集的查询经常被用作连接的列ORDERBY或GROUPBY子句中指定的列下列情况不适于建立聚簇索引频繁更改的列。字节长的列。非聚簇索引非聚簇索引与图书后边的术语表类似。数据存储在一个地方,术语表存储在另一个地方。而且数据并不按术语表的顺序存放,但术语表中的每个词在书中都有确切的位置非聚簇索引就类似于术语表,而数据就类似于一本书的内容。非聚簇索引的存储示意图非聚簇索引与聚簇索引的差别数据行不按非聚簇索引关键字值的顺序排序和存储。叶级节点不是数据页叶级节点是索引行。每个索引行包含非聚簇索引关键字值以及一个或多个行定位器,这些行定位器指

6、向该关键字值对应的数据行。行定位器非聚簇索引可以在有聚簇索引的表和无聚簇索引的表上定义在SQLServer2005中,非聚簇索引中的行定位器有两种形式:如果表没有定义聚簇索引,则行定位器就是指向行的指针。该指针用文件标识符(ID)、页码和页上的行数生成。整个指针称为行ID。如果表定义有聚簇索引,则行定位器就是行的聚簇索引关键字的值在没有聚簇索引的表上建非聚簇索引数据示例在有聚簇索引的表上建立非聚簇索引数据示例下述情况可考虑创建非聚簇索引包含大量非重复值的列不返回大型结果集的查询经常作为查询条件使用的列经常作为连接和分组条件的列,应在这些列上创建多个非聚簇索引唯一索引可以确保索引

7、列不包含重复的值在组合唯一索引的情况下,该索引可以确保索引列中每个值的组合都是唯一的例如,如果在last_name、first_name和middle_initial列的组合上创建了唯一索引full_name,则该表中任何两个人都不可以具有完全相同的名字聚簇索引和非聚簇索引都可以是唯一的。说明如果必须要实施唯一性来确保数据的完整性,则应在列上创建UNIQUE约束或PRIMARYKEY约束,而不要创建唯一索引例如,如果想限制身份证号码(sid)列的取值不能有重复,则可在sid列上创建UNIQU

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。