SQL语言-建立和删除索引.ppt

上传人:大米 文档编号:568432853 上传时间:2024-07-24 格式:PPT 页数:9 大小:375.27KB
返回 下载 相关 举报
SQL语言-建立和删除索引.ppt_第1页
第1页 / 共9页
SQL语言-建立和删除索引.ppt_第2页
第2页 / 共9页
SQL语言-建立和删除索引.ppt_第3页
第3页 / 共9页
SQL语言-建立和删除索引.ppt_第4页
第4页 / 共9页
SQL语言-建立和删除索引.ppt_第5页
第5页 / 共9页
点击查看更多>>
资源描述

《SQL语言-建立和删除索引.ppt》由会员分享,可在线阅读,更多相关《SQL语言-建立和删除索引.ppt(9页珍藏版)》请在金锄头文库上搜索。

1、第第4章章 SQL语言语言4.6 建立与删除索引l概念:SQL Server的索引是一个单独的、物理的数据结构,是为了加速对表中数据行的检索而创建的一种分散的存储结构。l索引是针对一个表而建立的,每个索引页面中的行都含有逻辑指针,指向数据库表中的物理位置,以便加速检索物理数据。l索引包含从表或视图中一个或多个列生成的键,以及映射到指定数据的存储位置的指针。当SQL Server 2005执行查询时,查询优化器会对可用的数据检索方法的成本进行估计,从中选用最有效的查询计划。1、索引的概念、索引的概念在数据库中使用索引的优点如下:在数据库中使用索引的优点如下:l加速数据检索:加速数据检索:索引能够

2、提供以一列或多列的值为基索引能够提供以一列或多列的值为基础迅速查找或存储表的行的能力。础迅速查找或存储表的行的能力。l加速连接、排序和分组:加速连接、排序和分组:连接、排序和分组都需要数连接、排序和分组都需要数据检索,在建立好索引后,其数据检索速度会加快,据检索,在建立好索引后,其数据检索速度会加快,从而加速连接等操作。从而加速连接等操作。l优化查询:优化查询:在执行查询时,都会先对查询进行优化。在执行查询时,都会先对查询进行优化。查询优化器是依赖于索引起作用的,用于决定到底哪查询优化器是依赖于索引起作用的,用于决定到底哪些索引可以使该查询最快。些索引可以使该查询最快。l强制实施行的唯一性:强

3、制实施行的唯一性:通过给列创建唯一索引,可以通过给列创建唯一索引,可以保证表中的数据不重复。保证表中的数据不重复。2、索引的用途、索引的用途3、索引的类型、索引的类型lSQL Server 中提供的索引类型常用的有聚集索引、非聚集索引和唯一索引3种类型。l聚集索引和非聚集索引是按照索引的存储结构划分的,而唯一索引和非唯一索引是按照索引取值划分的。(1)聚集索引。在聚集索引中,索引键值的顺序与数据表中记录的物理顺序相同,由于记录行只能按一个物理顺序存储,因此每个表只能有一个聚集索引。3、索引的类型、索引的类型(2)非聚集索引。非聚集索引具有独立于数据行的结构,非聚集索引的每个键值项都有指向包含该

4、键值的数据行的指针。每个表最多可以创建249个非聚集索引,用以满足多种查询的需要。(3)唯一索引。唯一索引可以确保所有数据行中任意两行的索引列不包括NULL在内的重复值。 创建主键约束时,如果表上还没有创建聚集索引,则SQL Server 将自动在创建主键约束的列或组合上创建聚集唯一索引,主键列不允许为空值。4、设计索引的基本原则、设计索引的基本原则在数据库表上设计索引时,应考虑以下常用的基本原则:在数据库表上设计索引时,应考虑以下常用的基本原则:l一个表创建大量索引,会影响一个表创建大量索引,会影响INSERT、UPDATE和和DELETE语句语句的性能。的性能。l若表的数据量大,对表数据的

5、更新较少而查询较多,可以创建多若表的数据量大,对表数据的更新较少而查询较多,可以创建多个索引来提高性能。个索引来提高性能。l当视图包含聚合、表连接或两者的组合时,在视图上创建索引可当视图包含聚合、表连接或两者的组合时,在视图上创建索引可以显著的提升性能。以显著的提升性能。l可以对唯一列或非空列创建聚集索引。每个表只能创建一个聚集可以对唯一列或非空列创建聚集索引。每个表只能创建一个聚集索引。索引。l在包含大量重复值的列上创建索引,查询的时间会较长。在包含大量重复值的列上创建索引,查询的时间会较长。l若查询语句中存在计算列,则可考虑对计算列值创建索引。若查询语句中存在计算列,则可考虑对计算列值创建

6、索引。l索引大小的限制,最大键列数为索引大小的限制,最大键列数为16,最大索引键大小为,最大索引键大小为900字节。字节。在实际创建时一定要考虑此限制。在实际创建时一定要考虑此限制。5 5、创建索引、创建索引l创建索引:CREATE UNIQUE CLUSTERED|NONCLUSTERED INDEX ON ( , n )lUNIQUE:创建唯一索引。lCLUSTERED:创建聚簇索引。lNONCLUSTERED:创建非聚簇索引。l如果没有指定索引类型,则默认是创建非聚簇索引。 示例示例l例1为Student表的Sname列创建非聚簇索引。CREATE INDEX Sname_ind ON Stuent ( Sname )l例2为Student表的Sid列创建惟一的聚簇索引。CREATE UNIQUE CLUSTERED INDEX Sid_ind ON Stuent (Sid ) 6 6、删除索引、删除索引 l删除索引语句格式:DROP INDEX l例3删除Student表中的Sname_ind索引。 DROP INDEX Sname_ind

展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 高等教育 > 研究生课件

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号