第6章索引16385(免费阅读).pptVIP

  • 4
  • 0
  • 约9.04千字
  • 约 54页
  • 2017-01-01 发布于重庆
  • 举报
第6章 索引 6.1 索引的概念 6.2 索引的类型 6.3 创建索引 6.4 删除索引 6.1 索引的概念 数据库中的索引与书籍中的索引类似,在一本书中,利用索引可以快速查找所需信息,无须阅读整本书。在数据库中,索引使数据库程序无须对整个表进行扫描,就可以在其中找到所需数据。书中的索引是一个词语列表,其中注明了包含各个词的页码。而数据库中的索引是某个表中一列或者若干列值的集合和相应的指向表中物理标识这些值的数据页的逻辑指针清单。 索引: 是SQL Server编排数据的内部方法。 它为SQL Server提供一种方法来编排查询数据的路由。 索引页: 数据库中存储索引的数据页;索引页存放检索数据行的关键字页以及该数据行的地址指针。 索引的作用 通过使用索引,可以大大提高数据库的检索速度,改善数据库性能。 一、聚集索引与非聚集索引 依据索引对数据表中的记录顺序的影响分: 聚集索引(clustered index)对表的物理数据页中的数据按列进行排序,然后再重新存储到磁盘上,即聚集索引与数据是混为一体的,它的叶节点中存储的是实际的数据。 非聚集索引(nonclustered index)具有完全独立于数据行的结构,使用非聚集索引不用将物理数据页中的数据按列排序。非聚集索引的叶节点存储了组成非聚集索引的关键字值和行定位器。 6.3 创建索引 SQL Server 2000创建索引的方法: (1) 由系统自动创建 (2) 利用索引向导创建 (3) 利用企业管理器直接创建 (4) 利用Transact-SQL语句创建 1. 系统自动创建索引 3. 利用企业管理器直接创建索引 其具体步骤如下: (1)在企业管理器中,展开指定的服务器和数据库,选择要创建索引的表,用右键单击该表,从弹出的快捷菜单中选择所有任务项的管理索引选项(如图7-7所示),就会出现管理索引对话框,如图7-8所示。在该对话框中,可以选择要处理的数据库和表 。 (2)单击“新建”按钮,则出现新建索引对话框,如图7-9所示。 (3)选择完成后单击“确定”按钮,即可生成新的索引;单击“取消”按钮,则取消新建索引的操作。 4. 利用Transact-SQL语句创建索引 (CREATE INDEX命令) CREATE [UNIQUE] [CLUSTERED | NONCLUSTERED] INDEX 索引名 ON { 表名 | 视图名 } ( 列1 [ ASC | DESC ] [, ……, 列n [ ASC | DESC ] ] ) [ WITH {PAD_INDEX | FILLFACTOR = 填充因子 | IGNORE_DUP_KEY | DROP_EXISTING | STATISTICS_NORECOMPUTE | SORT_IN_TEMPDB } [ ON 文件组 ] 各参数说明如下: UNIQUE:用于指定为表或视图创建唯一索引,即不允许存在索引值相同的两行。 CLUSTERED:用于指定创建的索引为聚集索引。 NONCLUSTERED:用于指定创建的索引为非聚集索引。 索引名 index_name:用于指定所创建的索引的名称。 表名 table:用于指定创建索引的表的名称。 视图名 view:用于指定创建索引的视图的名称。 ASC|DESC:用于指定具体某个索引列的升序或降序排序方向。 列Column:用于指定被索引的列。 PAD_INDEX:用于指定索引中间级中每个页(节点)上保持开放的空间。 FILLFACTOR = fillfactor:用于指定在创建索引时,每个索引页的数据占索引页大小的百分比,fillfactor的值为1到100。 IGNORE_DUP_KEY:用于控制当往包含于一个唯一聚集索引中的列中插入重复数据时SQL Server所作的反应。 DROP_EXISTING:用于指定应删除并重新创建已命名的先前存在的聚集索引或者非聚集索引。 STATISTICS_NORECOMPUTE:用于指定过期的索引统计不会自动重新计算。 SORT_IN_TEMPDB:用于指定创建索引时的中间排序结果将存储在 tempdb 数据库中。 ON filegroup:用于指定存放索引的文件组。 例2 新建表employee,包含字段:员工ID、姓、名、工资;然后使用CREATE INDEX语句基于员工ID 创建,基于姓和名创建组合唯一索引,并设置重复值; 最后查看索引信息。 CREAT

文档评论(0)

1亿VIP精品文档

相关文档