日期:2014-05-16 浏览次数:20477 次
1、 索引分类的解释
a) 索引从大的方面分为聚集索引和非聚集索引。
聚集索引:一个表最多只能建立一个,并且,表的记录的排列顺序按聚集索引要求的顺序改变而改变;
非聚集索引:一个表可以有多个,且不会对表中记录的顺序产生影响。
b) 索引根据是否具有唯一性约束分为了4类。
当我们建立不具有唯一性约束的索引的时候,此时的索引就仅有一个作用,加快了查询速度,但是对我们输入的数据不保证唯一性,此时,可以想一想,当查询该索引作用的列值时,就可能出现错误,因为列值可能有相同的,此时,系统就不能准确的定位列值了,所以,我们建立索引的时候,都是建立具有唯一性约束的索引,并且,现在我们把具有唯一性约束的聚集索引称为聚集索引,我们把具有唯一性约束的非聚集索引称为唯一索引。
1、企业管理器创建索引
步骤1:进入创建索引的界面里
步骤2:索引是否具有唯一性约束
步骤三:是否创建聚集索引
2、 通过SQL语句创建索引
Create [unique] [ clustered//nonclustered] Index index_nameon table_name(column_name [ASC//DESC])
解释:unique指定创建的索引是具有唯一约束的索引;clustered//nonclustered指定被创建的索引类型,聚簇还是非聚簇,二选一;index_name指定新建索引的名字;table_name创建索引的表的名字;column_name索引中包含的列的名字。
注意,不同版本的SQL系统的默认关键字的区别。
3、 通过创建主键约束和唯一约束
创建主键约束或唯一键约束的时候,系统分别自动创建出聚集索引或唯一索引。
特别说明:
1、改变表中的数据(如增加或删除记录)时,索引将自动更新。
2、索引数据无限,但索引越多,更新数据的速度越慢,因此,对于仅使用查询的表,我们可以多建立索引,对于数据更新频繁的表则应少建些索引。
3、索引建立后,在查询使用该列时,系统将自动使用索引进行查询,也就是说,索引直接加快了系统查询的速度,从而加快了我们等到数据的速度。
对于1和2的理解,大家可以查看这篇博客:索引、视图、游标、存储过程和触发器(1、总述)