SQLServer 索引操作

    • 创建索引

数据库创建索引操作图:

第一种创建索引方式:

SQLServer 索引操作_第1张图片

SQLServer 索引操作_第2张图片

 

第二种创建索引方式:

SQLServer 索引操作_第3张图片

SQLServer 索引操作_第4张图片

SQLServer 索引操作_第5张图片

 

第三中创建索引的方式:

使用CREATE INDEX语句创建索引

CREATE[ UNIQUE ] [ CLUSTERED | NONCLUSTERED ] INDEX索引名

    ON {表名|视图名} (列名[ ASC | DESC ] [ ,...n ] )

参数解析:

  1. UNIQUE:在表上创建唯一索引。唯一索引是不允许其中任意两行具有相同索引值的索引。
  2. NONCLUSTERED:创建指定表的逻辑排序的索引。使用非聚集索引,数据行的物理顺序将独立于其索引顺序。这是唯一支持的索引类型。(默认值为 NONCLUSTERED
  3. index_name:指定索引的名称。索引名称在表中必须是唯一的,但是在数据库中不必是唯一的。
  4. table_name:指定要对其创建索引的表的名称。此表包含要建立索引的一个或多个列。
  5. column name:要应用索引的列。指定两个或两个以上的列的名称,以对指定列中的组合值创建组合索引。在表后面的括号中,按排序优先级顺序列出要包含在组合索引中的列。
  6. ASC | DESC ]:为特定的索引列确定升序 (ASC) 或降序 (DSC) 排序方向。默认值为 ASC
  7. N:指示可以为任何特定索引指定多列的占位符。索引中可以包含的最大列数为 16
  8. STATISTICS_NORECOMPUTE:指定是否重新计算分发统计信息。默认值为 OFF。ON :不自动重新计算过期的统计信息。OFF: 启用自动统计信息更新  若要还原自动统计信息更新,请将 STATISTICS_NORECOMPUTE 设置为 OFF,或执行不带 NORECOMPUTE 子句的 UPDATE STATISTICS

--使用T-SQL语句在XS表中建立"出生日期"的非聚集索引

SQLServer 索引操作_第6张图片

解释:因为XS表中已设置主键时,由于系统会自动生成聚焦索引,而每个表只能有一个聚集索引,这时会报错。

SQLServer 索引操作_第7张图片

 

    • 查看索引

第一种查看索引方式:点击打开表项的索引项,右键属性。

SQLServer 索引操作_第8张图片

 

SQLServer 索引操作_第9张图片

第二种查看索引方式:使用系统存储过程查看索引相关信息

存储过程sp_helpindex用于显示表或视图上索引的相关信息。

Sp_helpindex[@objname=]'name'

SQLServer 索引操作_第10张图片

 

    • 索引的修改

SQLServer 索引操作_第11张图片

 

ALTER INDEX { 索引名| ALL }

    ON <表名|视图名>

    { REBUILD  | DISABLE  | REORGANIZE }[ ; ]

ALTER INDEX语句的参数比较复杂,这里只介绍它的基本使用情况。参数说明如下:

REBUILD指定重新生成索引。

DISABLE指定将索引标记为已禁用。

REORGANIZE指定将重新组织的索引叶级,指定将使用相同的列、索引类型、唯一性索引属性和排序重新生成索引。

SQLServer 索引操作_第12张图片

    • 索引的删除

如果用户不使用某一索引后,可以将其删除。

第一种删除索引方式:

SQLServer 索引操作_第13张图片

第二种删除索引方式:

使用Drop Index命令可以从当前数据库中删除一个或多个关系索引、空间索引、筛选索引或XML索引。其语法为:

drop index

参数解析:

Index_name:要删除的索引名称

Datebase_name:数据库的名称

DROP INDEX dbo.xs.IX_XS_Date

 

你可能感兴趣的:(SQL_Server,数据库)