`

SQL Server 创建和使用索引

 
阅读更多

创建索引:

1)在SQL Server Management Studio中,选择并右击要创建索引的表,从弹出菜单中选择设计,打开表设计器。右键单击表设计器,从弹出菜单中选择索引/命令,打开索引/对话框。对话框中列出了已经存在的索引,如下图所示。

2)单击添加按钮。在选定的主/唯一键或索引框显示系统分配给新索引的名称。

3)在属性下选择要创建索引的列。可以选择多达16列。为获得最佳性能,最好只选择一列或两列。对所选的每一列,可指出索引是按升序还是降序组织列值。

4)如果要创建唯一索引,则在是唯一的属性中选择

5)设置完成后,单击确定按钮。

6)当保存表时,索引即创建在数据库中。

使用CREATE INDEX语句创建索引:

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

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

例:

在数据库HrSystem中为表Employees创建基于IDCard列的唯一索引IX_Employees,可以使用以下命令:

USE HrSystem

GO

CREATE UNIQUE NONCLUSTERED INDEX [IX_Employees]ONdbo.Employees(IdCard)

GO

例:

为表Employees创建基于列IDCard的唯一、聚集索引IX_Employees1,可以使用以下命令:

USEHrSystem

GO

CREATE UNIQUE CLUSTERED INDEX [IX_Employees1] ON [dbo].[Employees](IdCard)

GO

需要注意的是,在一个表中只允许存在一个聚集索引。因此,如果表Employees中已经存在一个聚集索引,则执行上面的语句时将会提示下面的错误信息。

消息1902,级别16,状态3,第1

无法对表'dbo.Employees'创建多个聚集索引。请在创建新聚集索引前删除现有的聚集索引'PK__Employee__263E2DD300551192'

例:

对表Employees的列Emp_name按照降序创建索引,可以使用以下命令:

USEHrSystem

GO

CREATENONCLUSTERED INDEX [IX_Employees2] ON [dbo].[Employees]

(

[Emp_name] DESC

)

GO

CREATE INDEX语句中使用INCLUDE子句,可以在创建索引时定义包含的非键列,其语法结构如下:

CREATENONCLUSTERED INDEX 索引名

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

INCLUDE (<列名1>, <列名2>, [,… n])

例:
在表Employees上创建非聚集索引IX_Wage,索引中的键列为Wage,非键列为Emp_nameSexTitle,具体语句如下:

USEHrSystem

GO

CREATENONCLUSTERED INDEX IX_Wage

ON Employees ( Wage )

INCLUDE (Emp_name, Sex, Title)

GO

例:

在创建索引IX_Wage后,当表Employees中的数据量比较大时,执行下面的SELECT语句将会明显地改进查询效率。

USEHrSystem

GO

SELECTEmp_name, Sex, Title, Wage

FROMEmployees

WHEREWage BETWEEN 1000 AND 3000

GO

修改索引:

SQL Server Management Studio中,选择并右击要创建索引的表,从弹出的菜单中选择设计表,打开表设计器。右键单击表设计器,从弹出菜单中选择索引/命令,打开索引/对话框,并查看已经存在的索引及修改索引的属性信息。
也可以使用ALTER INDEX语句修改索引,其基本语法如下:

ALTER INDEX { 索引名| ALL }

ON <表名|视图名>

{ REBUILD | DISABLE| REORGANIZE }[ ; ]

ALTER INDEX语句的参数比较复杂,这里只介绍它的基本使用情况。参数说明如下:
REBUILD指定重新生成索引。
DISABLE指定将索引标记为已禁用。
REORGANIZE指定将重新组织的索引叶级。
例:

要禁用索引IX_Employees,可以使用下面的语句:

USE HrSystem

GO

ALTERINDEX IX_Employees ON Employees DISABLE

GO

删除索引:
SQL Server Management Studio中,选择并右击要创建索引的表,从弹出的菜单中选择设计表。打开表设计器。右键单击表设计器,从弹出菜单中选择索引/命令,在打开的索引/对话框中列出了已经存在的索引。单击删除按钮,即可删除索引信息。

DROP INDEX 表名.索引名|视图名.索引名[ ,...n ]


分享到:
评论

相关推荐

    sql server创建索引

    sql server创建索引sql server创建索引

    SQLServer视图及索引的创建及使用

    资源名称:SQL Server 视图及索引的创建及使用内容简介: 本文档主要讲述的是SQL Server 视图及索引的创建及使用;目的是通过企业管理器和Transact_SQL语句对视图进行创建、修改和删除通过企业管理器。希望本文档会给...

    SQLserver索引创建语句.txt

    SQLserver索引创建语句

    SQL Server数据库实验指导书 实验教程 数据库实验05 视图的创建与使用.pdf

    2.掌握SQL Server Management Studio的启动和使用。 3.掌握SQL Server 2005服务器的配置和注册。 4.掌握SQL Server 2005查询的基本使用。 5.掌握应用SQL Server Management Studio创建数据库的方法。 6.掌握应用SQL ...

    sql server 索引的使用

    sql server 索引的使用 --创建索引create index(索引关键字) indexName(索引名) on userInfo(userName,userAge) create index indexName on userInfo(userName,userAge) --查看索引 sp_helpindex userInfo --创建...

    SQL Server 2000数据库中如何重建索引

    在SQL Server 2000中,如果要用一个步骤重新创建索引,而不想删除旧索引并重新创建同一索引,则使用CREATE INDEX语句的DROP_EXISTING子句可以提高效率。这一优点既适用于聚集索引也适用于非聚集索引。以删除旧索引...

    SQL_Server视图和索引

    1. 熟练掌握使用企业管理器和T-SQL语句创建、查询、更新、修改和删除视图。 2. 进一步掌握视图与基本表的联系与区别。 3. 理解索引的概念和作用。 4. 熟练掌握索引的创建与删除

    V1.0-sqlServer索引使用总结.docx

    sqlserver 创建索引,使用分类,和注意事项,自己项目使用总结的文档,可以借鉴

    Microsoft SQL Server 2008技术内幕 T-SQL 查询 索引优化章节 示例数据库脚本

    Microsoft SQL Server 2008技术内幕 T-SQL 查询 一书中,第四章,索引优化章节的示例数据库脚本。

    SQL-SERVER 索引

    SQL SERVER 索引的应用,内容包括:创建、使用 源代码 解压后是sql文件

    sql server2008创建模式、表、索引与视图

    索引的创建(1)和删除(1) 数据操作 各类更新操作(插入数据(n) 、修改数据(1) 、删除数据(1) ) 各类查询操作(单表查询(1) 、连接查询(2) 、嵌套查询(2) 、集合查询(1) ) 视图操作 视图的创建(1)、删除 (1) 、查询...

    SQL SERVER建立索引.pdf

    目录 一、建立索引 二、聚簇索引和非聚簇索引 ...六、创建索引的方法和索引的特征 1.创建索引的方法 2.索引的特征 七、索引的类型 1.聚簇索引的体系结构 2.非聚簇索引的体系结构 八、系统如何访问表中的数据

    数据库 创建索引 sql oracle

    1.索引的创建与使用 2.创建索引的原则 3.索引的分类 4.创建索引的多种方法 5.管理索引 6.索引优化 7.查看、修改索引属性 8.修改索引名 9.删除索引

    SQLSERVER全文索引的使用

    该文档详述如何创建全文索引优化模糊查询,使用全文索引的填充因子避免漏查多查

    SQL Server 2008宝典

    第2部分为SQLServer 2008的准备篇,介绍了SQL Server 2008的功能、特性、各版本的比较、安装方法、SQL Server 2008的服务、客户端的工具等;第3部分为SQL Server 2008的基本操作篇,介绍如何管理与配置SQL Server ...

    SQL Server 字符串截取功能创建(Split)

    SQLServer数据库中创建字符串截取功能(Split),调用方法: Split(string,str)

    sqlserver2005 创建分区表 分区索引 注意事宜 分区索引

    分区索引 分区索引 分区索引 分区索引分区索引分区索引分区索引分区索引

    SQL Server 2008管理员必备指南(超高清PDF)Part1

    2.1.3 使用SQL Server 2008的多维数据库和数据挖掘 2.1.4 使用SQL Server 2008管理报表 2.2 规划SQL Server 2008的部署 2.2.1 建立服务器的性能系统 2.2.2 配置I/O子系统 2.2.3 确保可用性和可伸缩性 2.2.4 确保连接...

    SQL Server索引视图及性能提高简介

    创建典型视图时,通过 SELECT 语句(定义一个显示为虚拟表的结果集)来定义元数据。当其它查询的 FROM 子句中引用了某个视图时,将从系统目录中检索该元数据,并对其进行扩展以代替该视图的引用。在视图扩展之后,...

Global site tag (gtag.js) - Google Analytics