简述:汇集索引和非汇集索引的区别

汇集索引:一种索引,该索引中键值的逻辑顺序决定了表中相应行的物理顺序。数据库

  CREATE CLUSTERED INDEX CLUSTER_ID ON TABLE_NAME(ID)性能

非汇集索引:一种索引,该索引中索引的逻辑顺序与磁盘上行的物理存储顺序不一样。优化

  CREATE NONCLUSTERED INDEX NONCLUSTER_ID ON TABLE_NAME(ID)spa

拿新华字典查字打比方。汇集索引,至关于按拼音检索,而非汇集索引至关于按部首检索。按拼音检索说明这个字你已认识,直接到指定的位置便可查到,不须要全文检索。按部首检索说明你对这个字不认识,须要根据他的偏旁部首进行全文检索才可查到。索引

SqlServer默认是在主键上创建汇集索引的。有的人把表步长为1自动增大的ID列做为主键被默认了汇集索引,可是这么作意义是不大的。汇集索引最大的好处是可根据查询要求,迅速缩小查询范围,避免了全表扫描,很难在实践中用ID做为查询条件来进行查询,这就使得ID号为主键作汇集索引,成为了一种资源的浪费!要知道一张表是只能创建一个汇集索引规则的,这使得它变得很是珍贵。一样的字段上加汇集索引和非汇集索引,查询的速度但是天壤之别的,并不是在任何字段上简单的创建索引就能提升查询速度。创建适当的汇集索引对于咱们提升查询速度是极其重要的。资源

 

【索引相关知识】it

    1.汇集索引字段的字节数越小,索引的速度就会越快。
    2.汇集索引很宝贵一个表只能建一个,汇集索引很重要会影响到与之关联的非汇集索引。
    3.在建立索引时,能够为这个索引指定一个填充因子,以便在索引的每一个叶级页面上保留必定百分比的空间,未来数据能够进行扩充和减小页分裂。填充因子是从0到100的百分比数值,设为100时表示将数据页填满,只有当不会对数据进行更改时(例如只读表中)才用此设置。值越小则数据页上的空闲空间越大,这样能够减小在索引增加过程当中进行页分裂的须要,但这一操做须要占用更多的硬盘空间。当填充因子的值为50时,数据库的读取性能会下降两倍。
    4.填充因子(FillFactor):指定SqlServer存储索引数据时每一个索引的充满程度。用户指定的fillfactor取值范围从1到100.住过没有指定fillfactor,则默认为0。
    优势:减小了页面分裂的次数。
    缺点:增大了使用的存储空间。
   5.重建索引:可减小请求数据所需的页数来提升性能。
    (1)在执行INSERT、UPDATE、DELETE语句以后,会使得索引数据散乱在数据库存储空间内。
    (2)重建索引以优化索引结构
    (3)DBCCDBREINDEX(表名,索引名,填充因子)
    (4)注:可减小请求数据所需的页数来提升性能date

        dbcc dbreindex(表名、索引名、填充因子)
        bdcc dbreindex(tb)
        dbcc showconfig(tb):查看索引分页状况
    6.在查询中强制使用索引,select * from tb with(index=tb_index) where datetime='2017-03-10'select

相关文章
相关标签/搜索