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中对结果进行排序. (编辑:应用网_阳江站长网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
- sql-server – 如何将SQL Server 2005更改为区分大小写?
- 系统的安全分析:Linux与Windows谁更安全?
- sql-server – sys.databases中某些列的排序规则是什么?
- SQL Group和Sum By Month – 默认为零
- sql-server – SQL Server不在Windows启动时启动,而是手动启
- SSAS:实现Cube 以及角色扮演维度,度量值格式化和计算成员
- 多租户数据库架构
- 带车载功能的MP3播放器——aigo波波E808上市
- sql-server – SSD上的SQL Server数据库 – 对于每个表的单
- 想玩就玩,联想天骄第二代推翻家电概念(上)