Oracle会将整行的数据迁移到一个新的数据块上,而将该行原先的空间只放一个指针,指向该行的新的位置,并且该行原先空间的剩余空

定义:

行迁移:因为update、将行变长、原来的块已经放不下了、行被挪进新块、

行链接:行一开始就太大、比如你插入了1w个字节的行、必须要分两个块存放、

由此、行变长的时间先后可作为判断依据

产生场景:

行迁移

Oracle会将整行的数据迁移到一个新的数据块上,而将该行原先的空间只放一个指针,指向该行的新的位置,并且该行原先空间的剩余空间不再被数据库使用,这些剩余的空间我们将其称之为空洞,这就是产生表碎片的主要原因,表碎片基本上也是不可避免的,但是我们可以将其降到一个我们可以接受的程度。注意,即使发生了行迁移,发生了行迁移的行的rowid 还是不会变化,这也是行迁移会引起数据库I/O性能降低的原因。

行链接

oracle会使用与该块链接的一块或多块数据块来容纳该行的数据。行连接经常在插入比较大的行时才会发生,如包含long, long row, lob等类型的数据。在这些情况下行链接是不可避免的。

影响DB performance的表现形式

读一行要读两个块,也就是要两次逻辑读

insert or update的性能比较差

利用索引查询已链接或迁移的行的select语句的性能比较差,因为他们需要额外的I/O

如何才能检测到行迁移与行链接

另外,,如何获知行迁移(行链接)严重的表呢?

DBA_TABLES视图的CHAINED_CNT列,该列有该表的链接行计数。

尽管行迁移与行链接是两个不同的事情,但是在oracle内部,它们被当作一回事。所以当你检测行迁移与行链接时,你应该仔细的分析当前你正在处理的是行迁移还是行链接。

本文原创发布php中文网,转载请注明出处,感谢您的尊重!

mysql update 行迁移_Oracle行迁移和行链接详解相关推荐

  1. mysql5.7.11 linux_CentOS 7 中以命令行方式安装 MySQL 5.7.11 for Linux Generic 二进制版本教程详解...

    MySQL 目前的最新版本是 5.7.11,在 Linux 下提供特定发行版安装包(如 .rpm)以及二进制通用版安装包(.tar.gz).一般情况下,很多项目都倾向于采用二进制通用安装包形式来进行安 ...

  2. python小游戏代码大全-20行python代码的入门级小游戏的详解

    背景: 作为一个python小白,今天从菜鸟教程上看了一些python的教程,看到了python的一些语法,对比起来(有其他语言功底),感觉还是非常有趣,就随手添了一点内容,改了一个小例程,当着练练手 ...

  3. 【转帖】windows命令行中java和javac、javap使用详解(java编译命令)

    windows命令行中java和javac.javap使用详解(java编译命令) 更新时间:2014年03月23日 11:53:15   作者:    我要评论 http://www.jb51.ne ...

  4. jenkins插件调用job_Jenkins迁移job插件Job Import Plugin流程详解

    Jenkins迁移job插件Job Import Plugin流程详解 由于又开了新机器所以又要重新布置Jenkins从老项目拷贝过来,发现Job Import Plugin 这个插件更新了,和以前的 ...

  5. 5.MySQL行锁、表锁、间隙锁详解

    一.表锁 表锁不依赖于储存引擎(不管你是MySQL的什么存储引擎,对于表锁的策略都是一样的),开销小(因为力度大).表锁不会产生死锁问题,但是表锁会影响并发率.  表锁不依赖索引,当索引失效的时候,行 ...

  6. 100行实现《贪吃蛇》小游戏详解(Qt)

    目录 游戏说明 游戏效果展示 游戏代码详解 ​关键数据结构 初始化游戏界面 游戏部分 提示部分 蛇逻辑 小蛇的初始化 边界判断 蛇吃食物判断 随机生成食物 是否撞到自己 小蛇的移动 游戏主体逻辑 定时 ...

  7. android什么控件能够输入多行文字,Android开发:文本控件详解——EditText(一)基本属性...

    一.简单实例: EditText输入的文字样式部分的属性,基本都是和TextView中的属性一样. 除此之外,EditText还有自己独有的属性. 二.基本属性: hint 输入框显示的提示文本 te ...

  8. Python开发之:Django基于Docker实现Mysql数据库读写分离、集群、主从同步详解 | 原力计划...

    作者 | Pythonicc 责编 | 王晓曼 出品 | CSDN博客 简介 1.什么是数据库读写分离 读写分离,基本的原理是让主数据库处理事务性增.改.删操作(INSERT.UPDATE.DELET ...

  9. ceph集群和数据库到底是储存数据_Python开发之:Django基于Docker实现Mysql数据库读写分离、集群、主从同步详解 | 原力计划...

    作者 | Pythonicc责编 | 王晓曼出品 | CSDN博客简介1.什么是数据库读写分离读写分离,基本的原理是让主数据库处理事务性增.改.删操作(INSERT.UPDATE.DELETE),而从 ...

最新文章

  1. 关于 Delphi 中流的使用(2) 用 TFileStream(文件流) 读写
  2. 关于nginx反向代理产生大量连接问题解决。
  3. python3 获取 当前作用域 全部参数的内置方法 locals()
  4. 求补码表示为10000000的真值
  5. 网关、负载均衡、服务注册发现什么关系?
  6. python可以做二维码吗_Python制作二维码,并且可以添加logo
  7. ssm(Spring+Spring mvc+mybatis)Dao接口——IDeptDao
  8. uni-app 写了一个网易云微信小程序
  9. Ubuntu16.04下配置laravel
  10. 图解算法之排序算法(2)——选择排序
  11. 线性最小二乘法(附MATLAB代码)
  12. k8s安装部署Istio
  13. python @classmethod和@staticmethod的区别
  14. 蓝桥杯2019年第十届C/C++省赛B组第六题-特别数的和
  15. MySQL配置+SQLyog安装教程
  16. appuim + python 实现 趣头条 自动阅读
  17. 创建一个三维空间形状,算立方体,球体,正三棱锥表面积体积
  18. Web答辩问题整合一
  19. 初学开关电源设计全过程笔记
  20. 使用Git时,Failed to connect to github.com port 443 after 21100 ms: Timed out

热门文章

  1. SAP Spartacus List Component 里定义的待显示 Popover 内容,如何传递到 Popover Component 里的?
  2. SAP Spartacus OccEndpointsService调用getBaseEndpoint的一些场景
  3. Angular list列表的事件响应实现
  4. sublime text的dockerfile语法高亮插件
  5. Opportunity PRODUCT GUID
  6. Opportunity retrieval in SalesPipeline
  7. metadata request forward to GM6 - X-DevTools-Emulate-Network-Conditions-Cli
  8. SAP Cloud for Customer My settings按钮被disable的原因分析
  9. SAP CRM Preprocessing显示没有可Archive的Product
  10. How is HashMap return type handled to be converted to a json string