聚集索引和非聚集索引的根本区别

聚集索引:

    表排列顺序:表记录的排列顺序与索引的排列顺序一致

      查询速度快:因为一旦具有第一个索引值的纪录被找到,具有连续索引值的记录也一定物理的紧跟其后。

   聚集索引的缺点:对表进行修改速度较慢,这是为了保持表中的记录的物理顺序与索引的顺序一致,而把记录插入到数据页的相应位置,必须在数据页中进行数据重排,降低了执行速度。

    个数:一个表中已经有一个聚集索引,个表不可能有两个或以上的聚集索引。

       使用场合

     a.此列包含有限数目的不同值;
     b.查询的结果返回一个区间的值;
     c.查询的结果返回某值相同的大量结果集。

非聚集索引:

  表排列顺序:物理顺序和索引的顺序不一致

       索引重组:非聚集索引比聚集索引层次多,添加记录不会引起数据顺序的重组

       使用场合

            a.此列包含了大量数目不同的值;
            b.查询的结束返回的是少量的结果集;
            c.order   by   子句中使用了该列

不适合建立索引的情形

   a.经常插入、修改、删除的表

   b.数据量比较少的表

适合建立索引的情况

   经常出现在where group by order by的列

无法使用索引的情形

    a.对索引列使用了函数或计算

    b.对索引列使用了模糊查询

    c.在where子句使用了子查询

    d.数据类型转换将导致索引失效

    e.负向比较将导致索引失效

 

 

  

 

posted @ 2020-08-27 16:12  怒剑利涛  阅读(130)  评论(0)    收藏  举报