日期:2014-05-16  浏览次数:20394 次

索引、视图、游标、存储过程和触发器(2、索引)

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、总述)