关于聚集索引和非聚集索引

索引是数据表中一列或者多列的排序结构,采用B+树结构存储,会占用磁盘空间,在创建或者修改索引的时候会增加系统开销,索引不要建立在频繁修改的列上,这样会增加search,update,delete的速度,否则会增加Update的开销。

如果建立的频繁修改的列上会导致行移列,增到开销

分为2类,聚集索引和非聚集索引,

聚集索引一个表只可以有唯一的一个,表中的物理排序结构和索引键值(索引)相同,

聚集索引不适合创建的列

1.频繁修改的列,

这样会导致这行移列,加大系统开销

2.宽列

就是多个列的查询,因为非聚集索引会把聚集索引的键值当做自己的查询键,这样会导致这个表中任何一个非聚集索引都

变大,因为非聚集索引不但包括自己定义的索引还包括聚集索引的键值。

建议使用情况

a,此列包含有限数目的不同值,

b,查询结果返回一个区间的值,

c,查询结果返回大量的结果集。

聚集索引在一个表中最多可以建255个,表中物理结构顺序和索引值不相同,而是通过指针关联,这样在添加索引的时候

不会移动列,因为它只是一个指针,

建议使用情况

a.此列包含了大量数目不同的值,

b,查询结果返回少量的数据集。

c,order by中使用了该列

 

 

你可能感兴趣的:(关于聚集索引和非聚集索引)