sql-server – 为什么我们必要在SQL Server中重建和重组索引
在搜刮互联网后,我找不到缘故起因 >为什么我们必要在SQL Server中重建和重组索引? 关于site的文章说:
我无法领略这一点,固然它说什么时辰这样做,但我想知道为什么我们必要重建和重组索引? 办理要领在执行插入更新和删除操纵时,索引将在内部和外部变为碎片.内部碎片是指索引页面上的可用空间百分比很高,这意味着SQL Server在扫描索引时必要读取更多页面. 外部碎片是当索引的页面不再有序时,因此SQL Server必需做更多事变,出格是在IO术语中读取索引. 假如您的索引过于分手,最多,您的查询服从会低落,但最坏的环境是,SQL Server将遏制一路行使索引,这意味着险些全部查询都必需执行表扫描或聚簇索引扫描.这会危险你的示意许多! 从头组织索引时,SQL Server行使现有的索引页面,只是在这些年数段上随机播放数据.这将缓解内部碎片,还可以消除少量的外部碎片.它比重建更轻量级操纵,而且始终在线. 重建索引时,SQL Server现实上会对索引的数据举办从头分派并行使一组新的索引页.这显然会减轻内部碎片和外部碎片,可是这是一个更重的操纵,默认环境下会使索引脱机,尽量它可以作为在线操纵执行,详细取决于您的SQL Server版本和配置. 可是,重建之后请不要祈望有0碎片.除非您行使MAXDOP查询提醒,不然SQL Server将并行化重建操纵而且涉及的处理赏罚器越多,也许存在的碎片就越多,由于每个处理赏罚器或焦点将单独重建其索引的部门或片断,而不思量互相.这是在最佳碎片级别和重建索引所耗费的时刻之间的衡量.对付靠近0的碎片,行使MAXDOP 1并在TempDB中对功效举办排序. (编辑:湖南网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |