SQL server 索引及视图.docVIP

  • 7
  • 0
  • 约6.75千字
  • 约 7页
  • 2017-07-05 发布于湖北
  • 举报
第7章 索引与视图 本章内容 7.1 索引概述 7.2 索引的操作 7.3 视图概述 7.4 视图的操作 7.5 视图的应用 7.1 索引概述 索引的基本概念 索引是对数据库表中一个或多个字段的值进行排序而创建的一种分散存储结构。 7.1 索引概述 索引的基本概念 索引是对数据库表中一个或多个字段的值进行排序而创建的一种分散存储结构。 建立索引的目的有以下几点: (1)加速数据检索 (2)加速连接、ORDER BY和GROUP BY等操作 (3)查询优化器依赖于索引起作用 (4)强制实行的惟一性 7.1 索引概述 索引的分类 根据数据库的功能,在SQL Server 2000中可创建3种类型的索引,即惟一性索引、主键索引和聚集索引。 1.惟一性索引 在表中建立惟一性索引时,组成该索引的字段或字段组合在表中具有惟一值,也就是说,对于表中的任何两行记录来说,索引键的值都是各不相同。 2.主键索引 表中通常有一个字段或一些字段组的合,其值用来惟一标识表中的每一行记录,该字段或字段组合称为表的主键。 7.1 索引概述 3.聚集索引 在聚集索引中,表中各记录的物理顺序与键值的逻辑(索引)顺序相同。只有在表中建立了一个聚集索引后,数据才会按照索引键值指定的顺序存储到表中。由于一个表中的数据只能按照一种顺序来存储,所以在一个表中只能建立一个聚集索引。 7.2 索引的操作 创建索引 1.使用企业管理器向导建立索引 2.使用企业管理器直接创建索引 7.2 索引的操作 3.使用Transact-SQL语句创建索引 语法格式: CREATE [UNIQUE][CLUSTERED|NONCLUSTERED] INDEX index_name ON table_name(column_name[ASC|DESC],…n) [WITH [PAD_INDEX] [[,] FILLFACTOR=fillfactor] [[,] IGNORE_DUP_KEY] [[,] DROP_EXISTING] [[,] STATISTICS_NORECOMPUTE] ] [ON filegroup] 7.2 索引的操作 例7-1 按employee表的employee_name列建立非聚集索引。 CREATE NONCLUSTERED INDEX name_idx ON employee(employee_name) 7.2 索引的操作 查看索引 1.使用企业管理器查看索引 2.使用系统存储过程查看索引 语法格式: sp_helpindex [@objname]=name 其中[@objname]=name子句为指定当前数据库中的表的名称。 例7-2 在查询分析器中查看表employee的索引。 USE Sales GO EXEC sp_helpindex employee GO 7.2 索引的操作 编辑索引 1.使用企业管理器编辑索引 2.使用系统存储过程更改索引 语法格式: sp_rename OldName,NewName[,object_type] 例7-3 更改employee表中索引employee_index_1名称为employee_index_id。 USE Sales GO EXEC sp_rename employee.employee_index_1,employee_index_id,index 7.2 索引的操作 删除索引 索引会减慢INSERT、UPDATE和DELETE语句的执行速度。如果发现索引阻碍整体性能或不再需要索引,则可将其删除。 1.使用企业管理器删除索引 7.2 索引的操作 2.使用Transact-SQL语句删除索引 语法格式: DROP INDEX table_name.index_name [ ,...n ] 各选项的含义: (1)table_name:索引列所在的表。 (2)index_name:要删除的索引名称。索引名必须符合标识符的规则。 7.2 索引的操作 例7-4 删除employee表内名为employee_index_2的索引。 USE Sales IF EXISTS (SELECT name FROM sysindexes WHERE name = employee_index_2) DROP INDEX employee.employee_index_2 GO 7.2 索引的操作 全文索引 前面所讲的索引通常是建立在数值字段或较短的字符串字段上的,一般不会选择大的字段上作为索引字段。如果需要使用大的字符串字段来检索数据

文档评论(0)

1亿VIP精品文档

相关文档