暂无图片
什么是行链接和行迁移?它们会给数据库性能带来什么样的影响?
我来答
分享
zhangyfr
2022-12-30
什么是行链接和行迁移?它们会给数据库性能带来什么样的影响?

什么是行链接和行迁移?它们会给数据库性能带来什么样的影响?

我来答
添加附件
收藏
分享
问题补充
5条回答
默认
最新
yBmZlQzJ

行链接是指表中的行太大,超出了一个块的容量,导致一个行片段要在多个数据块中存储。行迁移是指在更新后,原有块不能提供长度增加后新的行片段的空间要求,此时数据库会将整个行的数据迁移到新数据块中,原有行片段的空间保留并指向行迁移的新块,行迁移的ROWID不变。

当行链接或行迁移后,访问这些行时必须要扫描多个数据块才能检索到该行的信息,因此与此行关联的I/O性能会降低。

暂无图片 评论
暂无图片 有用 2
打赏 0
暂无图片
watson
2022-12-30
就是两种状态下都会影响IO的性能。
小七
2022-12-30
行链接是指表中的行太大,超出了一个块的容量,导致一个行片段要在多个数据块中存储。行迁移是指在更新后,原有块不能提供长度增加后新的行片段的空间要求,此时数据库会将整个行的数据迁移到新数据块中,原有行片段的空间保留并指向行迁移的新块,行迁移的ROWID不变。 当行链接或行迁移后,访问这些行时必须要扫描多个数据块才能检索到该行的信息,因此与此行关联的I/O性能会降低。
watson

那有什么方法可以规避这种现象造成的IO性能问题么

暂无图片 评论
暂无图片 有用 0
打赏 0
小七

行链接是指表中的行太大,超出了一个块的容量,导致一个行片段要在多个数据块中存储。行迁移是指在更新后,原有块不能提供长度增加后新的行片段的空间要求,此时数据库会将整个行的数据迁移到新数据块中,原有行片段的空间保留并指向行迁移的新块,行迁移的ROWID不变。

当行链接或行迁移后,访问这些行时必须要扫描多个数据块才能检索到该行的信息,因此与此行关联的I/O性能会降低。

暂无图片 评论
暂无图片 有用 0
打赏 0
duke
暂无图片

访问这些行时必须要扫描多个数据块才能检索到该行的信息,因此与此行关联的I/O性能会降低。

暂无图片 评论
暂无图片 有用 0
打赏 0
A琳琳

行链接是指表中的行太大,超出了一个块的容量,导致一个行片段要在多个数据块中存储。行迁移是指在更新后,原有块不能提供长度增加后新的行片段的空间要求,此时数据库会将整个行的数据迁移到新数据块中,原有行片段的空间保留并指向行迁移的新块,行迁移的ROWID不变。 

暂无图片 评论
暂无图片 有用 0
打赏 0
鸿惊九天
2022-12-30
行链接是指表中的行太大,超出了一个块的容量,导致一个行片段要在多个数据块中存储。行迁移是指在更新后,原有块不能提供长度增加后新的行片段的空间要求,此时数据库会将整个行的数据迁移到新数据块中,原有行片段的空间保留并指向行迁移的新块,行迁移的ROWID不变。
回答交流
Markdown


请输入正文
提交
相关推荐
安装rac的时候node ip只配置ip跟掩码,不配置网关,两台主机直接使用网线互联,安装的时候会不会报错?
回答 2
理论上是可以的。只要让两台主机能互联互通。但rac的私网通信量很大,对网络容错有很高的要求,你网线直连,没有交换机的处理,估计很容易丢包导致安装失败。
Oracle 19c,操作系统是windows server2019,做冷迁移的时候,控制文件报拒绝访问,无法打开文件,怎么处理?
回答 2
控制文件损坏了?冷备时没有把库完全关闭吗?v
ogg同步oracle到mysql,字段里面可能有需要转义的字符,怎么配置转义?
回答 1
不推荐在ogg中做转义,虽然他支持。最佳实践就是做简单搬运。在源端处理好。
MySQL有没有类似Oracle中INTERVAL分区的功能
回答 7
已采纳
mysql不能自动添加分区,建议使用脚本或者event管理。
WHERE语句下使用的LIKE查询,只在开头有一个通配符的字符串(比如'%TERM'),如何索引?
回答 3
已采纳
反向索引,见“%qw”。https://quanwenzhao.wordpress.com/2020/03/31/optimizingsqlwithlikeexpression2/
Oracle19C报错问题
回答 1
已采纳
这个问题我遇到过!可以参考MOS:RequirementsforInstallingOracleDatabase/Client19conOL8orRHEL864bit(x8664)(DocID2668
oracle用户下的监听和grid用户下的监听区别
回答 1
按照RAC安装规范来讲监听都是在grid用户下的,方便集群管理起来,启停也是grid用户。特殊情况下才会在Oracle用户下起监听,如内部使用等等。
oracle 异常重启之后DBA_HIST_ACTIVE_SESS_HISTORY 里接近半个小时无数据
回答 2
这种情况很可能是数据库重启之前已经hang住了,所以ash和awr中没有数据。查看一下这个时间之前的trc日志,应该会有记录。
查看AWR报告
回答 2
这种最好不要开并行了,数据量不大在单节点跑就行;都没有where过滤条件的sql还是建议分表;
Oracle全面扫描一个几乎为空的散列聚簇表与全面扫描一个满的散列聚簇表所花的时间一样吗?
回答 1
已采纳
所花的时间是一样的。原因如下:散列聚簇索引表中的数据就是索引,没有物理索引。Oracle取得一行的键值,会使用内部函数或提供的方法计算其散列值,然后使用这个散列值得出数据应该在磁盘上的哪个位置,所以花