当前位置:文档之家› 使用SQL语句创建索引

使用SQL语句创建索引

“超市供销存系统”的数据库实施和管理
任务六 创建索引
1.什么是索引
汉语字典中的汉字按页存放,一般都有汉语拼音目录(索引 )、偏旁部首目录等。 我们可以根据拼音或偏旁部首,快速查找某个字词。
什么是索引
Indexes Use Key Values to Locate Data (根据索引键查找定位数据行)
具有相同的索引值
索引分类
聚集索引(Clustered Index) 聚集索引与数据混为一体; 对表的物理数据页中的数据按列进行排序,然后再重新存 储到磁盘上;表的所有数据完全重新排列; 一个表只能有一个聚集索引; SQL Server默认是在主键上建立聚集索引。
非聚集索引(Nonclustered Index) 本索引与表的数据完全分离; 无需将物理数据页中的数据按列排序 ,而是存储索引行; 一个表最多可以建249 个非聚集索引 。
基本语句格式:
CREATE [UNIQUE] [CLUSTERED | NONCLUSTERED] INDEX 索引名 ON 表名(列名 [ ASC | DESC ])
UNIQUE CLUSTERED NONCLUSTERED ASC | DESC
创建唯一索引 创建聚集索引 创建非聚集索引 创建排序方式,默认为升序(ASC)
2.使用Transact-SQL 语句删除索引
DROP INDEX 表名 .索引名
DROP INDEX 语句不适用于通过定义 PRIMARY KEY 或 UNIQUE 约束(通过使用 CREATE TABLE 或 ALTER TABLE 语句的 PRIMARY KEY 或 UNIQUE 选项创建)创建的索引
索引创建
索引列可以有两列或更多列组成,由两列或更多列组成的 索引称作“复合索引”。
SQL Server默认是在主键上建立聚集索引。 创建唯一约束时自动创建唯一索引。
5.管理索引
查看索引信息 [EXECUTE] SP_HELPINDEX 表名
删除索引
删除索引
1.在SQL Server Management Studio“对象资源管理器 ”面板中删除索引
Index Pages(索引页)
Data Pages(数据页)

数据表的 物理顺序 和索引表 的顺序相 同,一张 表只能有 一个聚簇 索引 。
2.索引分类
聚簇索引非聚簇索引来自唯一索引数据表的物 理顺序和索 引表的顺序 不相同,索 引表仅仅包 含指向数据 表的指针 , 每张表可以
有多个。
既可以采用聚簇索引的结构,又可以 采用非聚簇索引的结构。不允许两行
6.创建索引优缺点
加快数据检索速度
占用存储空间
唯一索引保证记录唯一性
优缺 点点
减少查询中分组和排序的时间
花费时间
加速表与表之间的连接
7.创建索引的指导原则
请按照下列标准选择建立索引的列。 该列用于频繁搜索 该列用于对数据进行排序
请不要使用下面的列创建索引: 列中仅包含几个不同的值。 表中仅包含几行。为小型表创建索引可能不太划算 ,因为SQL Server在索引中搜索数据所花的时间 比在表中逐行搜索所花的时间更长。
3使用对象资源管理器创建索引
例:在商品表的商品名称列上建一个非聚集索引,唯一, 名叫aa. 在 SQL Server Management Studio 的“对象资源管理器 ”面板中,选择要创建索引的表 选中“索引”选 项右击,在弹出的快捷菜单中选择“新建索引”命令
4.使用T-SQL语句创建索引
相关主题