首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >分页是如何导致索引分割的?

分页是如何导致索引分割的?
EN

Database Administration用户
提问于 2021-10-14 16:30:24
回答 1查看 217关注 0票数 1

我正试图理解指数分割背后的原因。

假设填充因子为100%,聚集索引位于整数列上。每个页面上的值如下所示,并假设该页只能容纳5行。

Page1: 1,2,3,4,5

Page2: 6,7,8,10,11

Page3: 12,13,14

问题1:现在,当插入值为9时,9要么添加到page2 (页面拆分),要么添加到新页面?

问题2:这如何导致碎片化?是因为页面中的空白处导致分页吗?

问题3:聚集索引总是在顺序页面中存储物理排序的数据,还是按逻辑排序,这是否对碎片有任何贡献?

EN

回答 1

Database Administration用户

发布于 2021-10-16 18:26:20

现在,当插入值为9时,9要么添加到page2 (页面拆分),要么添加到新页面?

一个或另一个。这真的不重要。通常分裂值不在中间,它必须在旧页上,或者必须在新页上。

代码语言:javascript
复制
Page2: 6, 7, 8, 
Page4: 9, 10, 11
Page3: 12, 13, 14

这是如何导致分裂的呢?是因为页面中的空白处导致分页吗?

有很多不同的东西,人们称之为“碎片化”。有些人把半空页作为碎片本身包括进来。但更常见的意思是,Page4,即新页面,是在当前开放范围或新范围上分配的,而现有页面在一个或两个现有区段中是连续的。

聚集索引总是在顺序页面中存储物理排序的数据,还是按逻辑排序,这对碎片有什么贡献吗?

只是逻辑上的。当逻辑页面链在区段之间跳来跳去时,这是一种碎片。但请记住,“物理”顺序并不是真正的“物理”;它只是文件中的位置,文件系统映射到磁盘位置,磁盘固件映射到真正的物理磁盘位置。这就是为什么固态存储的碎片通常不是什么大问题的原因。

票数 4
EN
页面原文内容由Database Administration提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://dba.stackexchange.com/questions/301132

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档