SQL 索引

1、http://www.cnblogs.com/AK2012/archive/2013/01/04/2844283.html

2 、聚簇索引和非聚簇索引的区别

3、聚集索引:只能有一个  (相当于字典中的拼音 索引顺序和记录顺序是一致的  设置主键的时候 其实就已经自动生成了聚集索引)

非聚集索引可以有多个 (相当于的  索引中的偏旁部首  )

 唯一索引(可以是聚集 也可以是非聚集(默认))( 约束用  unique  ):

 1.41 创建索引的语法:

CREATE [UNIQUE][CLUSTERED | NONCLUSTERED]  INDEX  index_name  

ON {table_name | view_name} [WITH [index_property [,....n]]

说明:

UNIQUE: 建立唯一索引。

CLUSTERED: 建立聚集索引。

NONCLUSTERED: 建立非聚集索引。

Index_property: 索引属性。

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

1.42 删除索引语法:

DROP INDEX table_name.index_name[,table_name.index_name]

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

index_name : 要删除的索引名称。

1.43 显示索引信息:

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

执行代码如下:

Exec sp_helpindex book1;

 

唯一索引和唯一键区别:

新增唯一键约束

ALTER TABLE [dbo].[AdminUser] ADD CONSTRAINT [IX_AdminUser_UQUserName] UNIQUE NONCLUSTERED
(
[UserName] ASC
)

新增唯一索引:

CREATE UNIQUE NONCLUSTERED INDEX [IX_AdminUser_TrueName] ON [dbo].[AdminUser]
(
[TrueName] ASC
)

新增的sql语句不同,删除的sql语句也不同

删除唯一键约束

alter table dbo.adminuser drop [IX_AdminUser_UQUserName]

删除唯一索引

drop index dbo.adminuser.IX_AdminUser_TrueName

唯一键也是通过创建一个唯一索引实现的 同时也是一种约束

 

原文地址:https://www.cnblogs.com/lxf1117/p/4618149.html