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

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

ID:52268409

大小:375.27 KB

页数:9页

时间:2020-04-03

SQL语言-建立和删除索引.ppt_第1页
SQL语言-建立和删除索引.ppt_第2页
SQL语言-建立和删除索引.ppt_第3页
SQL语言-建立和删除索引.ppt_第4页
SQL语言-建立和删除索引.ppt_第5页
资源描述:

《SQL语言-建立和删除索引.ppt》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

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

2、排序和分组都需要数据检索,在建立好索引后,其数据检索速度会加快,从而加速连接等操作。优化查询:在执行查询时,都会先对查询进行优化。查询优化器是依赖于索引起作用的,用于决定到底哪些索引可以使该查询最快。强制实施行的唯一性:通过给列创建唯一索引,可以保证表中的数据不重复。2、索引的用途3、索引的类型SQLServer中提供的索引类型常用的有聚集索引、非聚集索引和唯一索引3种类型。聚集索引和非聚集索引是按照索引的存储结构划分的,而唯一索引和非唯一索引是按照索引取值划分的。(1)聚集索引。在聚集索引中,索引键值的顺序与数据表中记录的物理顺序相同,由于记录行只能按一个物理顺序存储,因此每个表只能有一个聚

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

4、查询较多,可以创建多个索引来提高性能。当视图包含聚合、表连接或两者的组合时,在视图上创建索引可以显著的提升性能。可以对唯一列或非空列创建聚集索引。每个表只能创建一个聚集索引。在包含大量重复值的列上创建索引,查询的时间会较长。若查询语句中存在计算列,则可考虑对计算列值创建索引。索引大小的限制,最大键列数为16,最大索引键大小为900字节。在实际创建时一定要考虑此限制。5、创建索引创建索引:CREATE[UNIQUE][CLUSTERED

5、NONCLUSTERED]INDEX<索引名>ON<表名>(<列名>[,…n])UNIQUE:创建唯一索引。CLUSTERED:创建聚簇索引。NONCLUSTE

6、RED:创建非聚簇索引。如果没有指定索引类型,则默认是创建非聚簇索引。示例例1.为Student表的Sname列创建非聚簇索引。CREATEINDEXSname_indONStuent(Sname)例2.为Student表的Sid列创建惟一的聚簇索引。CREATEUNIQUECLUSTEREDINDEXSid_indONStuent(Sid)6、删除索引删除索引语句格式:DROPINDEX<索引名>例3.删除Student表中的Sname_ind索引。DROPINDEXSname_ind

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

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

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