唯一索引(UNIQUE):不允许两行具有相同的索引值(创建了唯一约束,系统将自动创建唯一索引)
主键索引:主键索引要求主键中的每个值是唯一的,(创建主键自动创建主键索引)
聚集索引(CLUSTERED):表中各行的物理顺序与键值的逻辑(索引)顺序相同,表中只能包含一个聚集索引,主键列默认为聚集索引 非聚集索引(NONCLUSTERED):表中各行的物理顺序与键值的逻辑(索引)顺序不匹配,表中可以有249个非聚集索引
CREATE[ UNIQUE ] [ CLUSTERED | NONCLUSTERED ] INDEX索引名
ON {表名|视图名} (列名[ ASC | DESC ] [ ,...n ] )
例:
USE HrSystem
GO
CREATE UNIQUE NONCLUSTERED INDEX [IX_Employees] ON dbo.Employees(IdCard)
GO
例:USE HrSystem
GO
CREATE UNIQUE CLUSTERED INDEX [IX_Employees1] ON [dbo].[Employees](IdCard)
GO
消息1902,级别16,状态3,第1行
无法对表'dbo.Employees'创建多个聚集索引。请在创建新聚集索引前删除现有的聚集索引'PK__Employee__263E2DD300551192'。
例:USE HrSystem
GO
CREATE NONCLUSTERED INDEX [IX_Employees2] ON [dbo].[Employees]
(
[Emp_name] DESC
)
GO
CREATE NONCLUSTERED INDEX 索引名
ON { 表名| 视图名 } ( 列名 [ ASC | DESC ] [ ,...n ] )
INCLUDE (<列名1>, <列名2>, [,… n])
例:USE HrSystem
GO
CREATE NONCLUSTERED INDEX IX_Wage
ON Employees ( Wage )
INCLUDE (Emp_name, Sex, Title)
GO
例:
USE HrSystem
GO
SELECT Emp_name, Sex, Title, Wage
FROM Employees
WHERE Wage BETWEEN 1000 AND 3000
GO
修改索引:ALTER INDEX { 索引名| ALL }
ON <表名|视图名>
{ REBUILD | DISABLE | REORGANIZE }[ ; ]
USE HrSystem
GO
ALTER INDEX IX_Employees ON Employees DISABLE
GO
删除索引:在 SQL Server Management Studio 中,选择并右击要创建索引的表,从弹出的菜单中选择 “ 设计表 ” 。打开表设计器。右键单击表设计器,从弹出菜单中选择 “ 索引 / 键 ” 命令,在打开的 “ 索引 / 键 ” 对话框中列出了已经存在的索引。单击 “ 删除 ” 按钮,即可删除索引信息。
DROP INDEX 表名.索引名|视图名.索引名[ ,...n ]
原文载于: http://blog.csdn.net/wltica/article/details/8537440