聚集索引和非聚集索引

sql中的索引分为聚集索引和非聚集索引两种

聚集索引单表只能有一个,可以有多列

非聚集索引单表最多可以有256个

聚集索引规定物理存储顺序,例如id作为聚集索引的话,新增一个id的话,就会在原来最大id的后面增加一个id

查询时候order by id排序,会提高查询速度,对应经常搜索范围值的列id特别有效

插入记录时,会对每页数据进行重新排序,影响插入速度

填充因子:可以标识填充因子,以指定每个索引页可被填满的程度。填充因子是在创建新索引页时分配的可用空间的百分比。索引页上的可用空间量是很重要的,因为当索引页填满后,系统必须花时间拆分它,为新行腾出空间.填充因子的值=100 表示页面将填满,并且将会占用最少量的存储空间。仅应在不会有数据更改时(例如只读表的情况)才使用此设置。值越小,数据页上留出的可用空间越多,这降低了随索引的增大而拆分数据页的需要,但需要更多的存储空间

也就是说,如果数据需要频繁更新的情况下,填充因子不要设置的太大

非聚集索引:目录和数据的存储是分开的,不要求两者顺序一致,where条件后面如果使用非聚集索引,要求条件顺序和索引顺序一致

不考虑用索引的情况:如果只有很少的非重复值,例如仅有 1 和 0,则大多数查询将不使用索引

索引缺点:1.占用储存空间,以空间换效率

     2.插入或者更新数据时候,会有额外的操作,需要更新索引

 

posted @ 2010-08-03 15:30  艾伦  阅读(382)  评论(0编辑  收藏  举报