什么叫碎片,碎片对io的影响以及什么叫物理顺序,什么叫逻辑

今天有人问我关于物理顺序和逻辑顺序的事情,就像到了这个话题

页碎片:就是IAM页中叶子页的下一页和页头中该页的下一页不相同,那么就是碎片

逻辑顺序:就是索引的叶子页中通过上一页下一页形成的顺序

物理顺序:就是IAM中分配的顺序

DROP TABLE dbo.t_index
go
CREATE TABLE t_index (id INT PRIMARY KEY ,VALUE CHAR(1000))
GO
INSERT INTO t_index VALUES(1,'1')
INSERT INTO t_index VALUES(2,'2')
INSERT INTO t_index VALUES(3,'3')
INSERT INTO t_index VALUES(4,'4')
INSERT INTO t_index VALUES(6,'6')
INSERT INTO t_index VALUES(7,'7')
INSERT INTO t_index VALUES(8,'8')INSERT INTO t_index VALUES(5,'5')DBCC IND (db_test,t_index,1)

PageFID PagePID IAMFID IAMPID ObjectID IndexID PartitionNumber PartitionID iam_chain_type PageType IndexLevel NextPageFID NextPagePID PrevPageFID PrevPagePID
------- ----------- ------ ----------- ----------- ----------- --------------- -------------------- -------------------- -------- ---------- ----------- ----------- ----------- -----------
1 80 NULL NULL 1298103665 1 1 72057594040549376 In-row data 10 NULL 0 0 0 0
1 78 1 80 1298103665 1 1 72057594040549376 In-row data 1 0 1 90 0 0
1 89 1 80 1298103665 1 1 72057594040549376 In-row data 2 1 0 0 0 0
1 90 1 80 1298103665 1 1 72057594040549376 In-row data 1 0 0 0 1 78

那么他们在IAM的分配是:

IAM: Single Page Allocations @0x00000000118EA08E

Slot 0 = (1:78) Slot 1 = (1:89) Slot 2 = (1:90)
Slot 3 = (0:0) Slot 4 = (0:0) Slot 5 = (0:0)
Slot 6 = (0:0) Slot 7 = (0:0)

IAM: Extent Alloc Status Slot 1 @0x00000000118EA0C2

(1:0) - (1:896) = NOT ALLOCATED

肉眼看感觉没有碎片,那么回头想想碎片的定义是显然在2个页子页中间(78,90)中间有一个89索引页那么会被认为是有碎片的。

那么就碎片到底对io性能有什么影响,其实碎片对精确查找的性能影响不是很大(如用唯一的聚集索引查找),但是对区域扫描有影响:

1.如果你的碎片跨区了,那么就要涉及到你设置的分配单元大小了,如果你的分配单元和区一样大,那么可能需要重新寻道等问题导致io时间变成。

2.如果你的碎片没有跨区,那么唯一造成问题的就是你的页密度不够高导致性能问题

posted on 2013-05-14 11:27 Fanr_Zh 阅读(...) 评论(...) 编辑 收藏

转载于:https://www.cnblogs.com/Amaranthus/archive/2013/05/14/3077470.html

什么叫碎片,碎片对io的影响以及什么叫物理顺序,什么叫逻辑相关推荐

  1. SQLserver 索引碎片

    索引碎片主要导致olap类收到影响.oltp少量数据查询只有索引高度有关. 1. rowid 默认的索引是B-树索引.索引建立在表中的一个或多个列或者是表的表达式上,将列值和行编号一起存储.行编号是唯 ...

  2. MySQL备份恢复之mysqldump备份_SQL语句模式

    mysqldump备份_SQL语句模式 mysql备份类型 1.分为冷备和热备 冷备就是在数据库shutdown以后进行备份 热备就是在数据库open进行备份 2.又可以分为物理备份和逻辑备份 (1 ...

  3. 数据结构知识梳理笔记

    第一章:绪论             1.1数据结构的基本概念             1.2数据结构的三要素             1.3算法的基本概念             1.4算法的时间复 ...

  4. T-SQL查询高级—SQL Server索引中的碎片和填充因子

        写在前面:本篇文章需要你对索引和SQL中数据的存储方式有一定了解.标题中高级两个字仅仅是因为本篇文章需要我的T-SQL进阶系列文章的一些内容作为基础. 简介 在SQL Server中,存储数据 ...

  5. Oracle之索引和索引碎片问题解决

    反正死锁问题你看到刚才那个结果就够了,就是他已经把死锁问题给你解决了,毕竟你只要出现死锁,毕竟有一方用户就弹出来了,退出了,直接就弹出来了,这是ORACLE系统自己去解决了,咱们继续往下看 下面咱们要 ...

  6. 【译】索引进阶(十一):SQL SERVER中的索引碎片【上篇】

    原文链接:传送门. 第十章节我们分析了索引的内部结构.有了这些关于索引结构的知识,我们便可以分析索引碎片了:其产生的原因,如何防止,以及何时可以不去关注它们. 一些背景知识 / 复习 以下知识对于理解 ...

  7. 什么影响oracle io,Oracle IO问题解析

    3.2 数据文件相关的IO事件 数据库系统中的大多数的IO请求都是针对数据文件的.因此大多数情况下,与数据文件相关的IO事件是引起系统IO性能的主要原因.这些事件也是我们文章需要重点介绍的事件.下面分 ...

  8. dbcc dbreindex server sql_SQL Server数据库碎片整理

    碎片产生 在SQL Server中,存储数据的最小单位是页,每一页所能容纳的数据为8060字节.而页的组织方式是通过B树结构 SQL Server向每个页内存储数据的最小单位是表的行(Row) 当叶子 ...

  9. sql server 碎片整理——DBCC SHOWCONTIG

    转自: 1.http://blog.sina.com.cn/s/blog_6d2675450101ks6i.html 2.http://www.cnblogs.com/CareySon/archive ...

最新文章

  1. String.format()【演示具体的例子来说明】
  2. Sublime Text3配置Lua运行环境
  3. CentOS7Selinux设置
  4. python中lambda函数对时间排序_python – 使用lambda函数排序()
  5. python logistics regression_Python——sklearn 中 Logistics Regression 的 coef_ 和 intercept_ 的具体意义...
  6. kafka streams实战 pdf_spring框架实战口试材料
  7. 【Java】基础知识整理
  8. UWP-HttpClient
  9. Java调用Lua(转)
  10. STM32(5)——通用定时器基本定时器
  11. Python学习总结(5)——字符串
  12. 假设检验_关于假设检验与P值的几点看法
  13. Vue中使用marked
  14. Windows10搭建EDK2环境
  15. 承接上篇 Logback 打印SQL配置
  16. php ean13,php生成EAN_13标准条形码实例_PHP
  17. 【Vue】 错误:Already included file name ‘××ב differs from file name ‘××ב only in casing的解决方法
  18. 【金猿产品展】亚信科技“数据探索分析平台”——深挖数据价值,助客户高效管理和经营生产...
  19. linux运行fuzzbunch,方程式0day ETERNALBLUE复现之Empire ampamp; Msfconsole下的she...
  20. IT行业分析之嵌入式应用

热门文章

  1. 聚集索引和非聚集索引实例
  2. linux小窍门──设置时钟和时间
  3. Metasploit之渗透安卓实战
  4. Android AsyncTask分析
  5. java中文乱码的解决
  6. 关于Redis的数据迁移(三种方法)
  7. python3 性能提升_整理下Python性能语法,非常有效的提高性能的tips
  8. 设计模式复习-组合模式
  9. UVA10870递推关系(矩阵乘法)
  10. 【Groovy】Groovy 脚本调用 ( Java 类中调用 Groovy 脚本 )