暂无图片
Oracle数据库发生行迁移,会带来什么问题?
我来答
分享
中天
2023-06-06
Oracle数据库发生行迁移,会带来什么问题?

Oracle数据库发生行迁移,会带来什么问题?

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

行迁移只会影响性能,不会影响应用。因为应用不知道存在行迁移,应用使用的SQL与之前没有任何不同。

如果通过一个索引来读发生了行迁移的这一行,索引会指向原来的块,原来的块再指向新块。要得到具体的行数据,原来只要执行两个左右的I/O读取索引,以及一个I/O读取表;现在还需要多执行一个I/O来获取实际的行数据。单对这一行来说,这不是什么大问题,甚至就根本就注意不到。但是,如果这种行所占的比例相当大,而且有大量用户在访问这些行,就会出现副作用了:访问这些数据的速度开始变慢(额外的I/O以及与I/O相关的闩定都会增加访问时间),缓冲区缓存的效率开始下降(需要缓存两个块,而如果行没有迁移就只需缓存一个块),表的大小和复杂性都有所增加。

暂无图片 评论
暂无图片 有用 7
打赏 0
暂无图片
回答交流
Markdown


请输入正文
提交
问题信息
请登录之后查看
邀请回答
暂无人订阅该标签,敬请期待~~
暂无图片墨值悬赏