为什么sqlserver数据库索引碎片整理?
本文需要您对sql中数据的索引和存储方法有一定的了解
在sqlserver中,存储数据的最小单位是页,每个页可以容纳8060字节的数据。页面的组织是通过b-树结构(如果表上没有聚集索引,则为堆结构,本文不讨论),如下图所示:
在聚集索引b-树中,只有叶节点实际存储数据,而其他根节点和中间节点各自仅用于存储叶节点叶节点是一个页,每个页都是不可分割的,服务器在每个页中存储数据的最小单位是表的行。当叶节点中新插入的行或更新的行不能容纳当前更新的行或插入的行时,将进行分页。在分页过程中,将生成片段。
了解外部片段
首先,了解外部片段的“外部”是相对于页面的。外部碎片是指分页引起的碎片。例如,我想在现有聚集索引中插入一行,这会导致现有页面空间不足以容纳新行。这会导致分页:
因为在sqlserver中,新页是随着数据的增长而生成的,聚集索引要求行之间的连续性,所以在许多情况下,分页和原始页在磁盘上是不连续的
原文标题:常用的数据库有哪些 为什么sql server数据库索引碎片整理?,如若转载,请注明出处:https://www.saibowen.com/wenda/17500.html
免责声明:此资讯系转载自合作媒体或互联网其它网站,「赛伯温」登载此文出于传递更多信息之目的,并不意味着赞同其观点或证实其描述,文章内容仅供参考。