索引及其用途--SQL Server 2005

六.索引及其用途

 

1.索引是以表列为基础的数据库对象,它保存着表中排序的索引列。

 

2.其主要目的是提高了SQL Server系统的性能,加快数据的查询速度与减少系统的响应时间。

 

3.创建索引与维护索引都会浪费时间,对表中的数据进行增加,删除和修改操作时,索引就要进行维护,否则索引的作用就会下降;另外索引也会占用一定的物理空间,如果占用的物理空间过多,就会影响到整个数据库SQL Server系统的性能。

 

4.建立索引的原则:

 

(1)定义主键的数据列一定要建立索引。

(2)定义有外键的数据列一定要建立索引。

(3)对于经常查询的数据列最好建立索引。

      A、对于需要在指定范围内的快速或频繁查询的数据列;

  B、经常用在WHERE子句中的数据列。

(4)对于那些查询中很少涉及的列,重复值比较多的列不要建立索引。

(5)对于定义为textimagebit的数据类型的列不要建立索引。

 

5.索引的分类:

(1)聚集索引:聚集索引会对表和视图进行物理排序。

(2)非聚集索引:不对表和视图进行物理排序,最多可建立250个非聚集索引,或者249个非聚集索引与1个聚集索引。

(3)唯一索引:唯一索引不允许两行具有相同的索引值。

 

6.创建索引的语法:

CREATE [UNIQUE][CLUSTERED | NONCLUSTERED]

INDEX index_name

ON {table_name | view_name}

[WITH [index_property [,....n]]

说明:

UNIQUE: 建立唯一索引。

CLUSTERED: 建立聚集索引。

NONCLUSTERED: 建立非聚集索引。

Index_property: 索引属性。

UNIQUE索引既可以采用聚集索引结构,也可以采用非聚集索引的结构,如果不指明采用的索引结构,则SQL Server系统默认为采用非聚集索引结构。

 

7.删除索引语法:

DROP INDEX table_name.index_name[,table_name.index_name]

说明:table_name: 索引所在的表名称。

     index_name :  要删除的索引名称。

 

    8.显示索引信息:

 

    使用系统存储过程:sp_helpindex 查看指定表的索引信息。

 

    执行代码如下:

    Exec sp_helpindex book1;

 

    9.重命名索引

    语法:

    Exce sp_rename table_name.old_index_name, new_index_name

 

    10.显示查询计划的命令为:

    SET SHOWPALN_ALL ON | OFF 或 SET SHOWPLAN_TEXT ON | OFF

    说明:帮助用户分析有哪些索引被系统采用。

 

    例子:

    USE book

    GO

    SET SHOWPLAN_ALL ON

    GO

    SELECT * FROM book1 WHERE 编号='YBZT2406'

    GO

    SET SHOWPLAN_ALL OFF

    GO 

    说明:在Set showplan命令与select 命令之间一定要有 go语句。

 

   11.设置是否显示磁盘IO统计的命令为:

   SET STATISTICS IO ON | OFF

 

   12.索引的维护

   更新索引的语法:

   UPDATE STATISTICS table_name index_name

 

   使用DBCC SHOWCONTIG 语句扫描表语法:

   DBCC SHOWCONTIG (table_name, index_name)

 

   使用DBCC INDEXDEFRAG语句进行碎片整理语法:

   DBCC SHOWDEFRAG(database_name,table_name,index_name)

 

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值