【 使用环境 】 测试环境
【 OB or 其他组件 】 OB
【 使用版本 】4.3.5
【问题描述】redolog模式怎么设置为minimal,redo日志介绍了“在 Minimal 模式下,Redo 日志会精简这些信息,仅包括变更的列及其必要的上下文信息,从而减少了日志的大小,优化了存储效率” 但是没有提供设置方法,检索了官方文档没有搜到
【备注】基于 LLM 和开源文档 RAG 的论坛小助手已开放测试,在发帖时输入 [@论坛小助手] 即可召唤小助手,欢迎试用!
【 使用环境 】 测试环境
【 OB or 其他组件 】 OB
【 使用版本 】4.3.5
【问题描述】redolog模式怎么设置为minimal,redo日志介绍了“在 Minimal 模式下,Redo 日志会精简这些信息,仅包括变更的列及其必要的上下文信息,从而减少了日志的大小,优化了存储效率” 但是没有提供设置方法,检索了官方文档没有搜到
【备注】基于 LLM 和开源文档 RAG 的论坛小助手已开放测试,在发帖时输入 [@论坛小助手] 即可召唤小助手,欢迎试用!
根据您提供的信息和文档,Redo 日志有 FULL 和 Minimal 两种模式,Minimal 模式能够减少日志的大小并优化存储效率。但是,在给定的文档中并没有直接提及如何将 Redo 日志的模式设置为 Minimal。您可以参考与日志压缩相关的配置项,如 log_storage_compress_all 和 log_storage_compress_func,查看这些配置项的文档,看看是否有类似的配置项可以设置 Redo 日志的模式。如果仍然找不到解决方案,建议联系 OceanBase 的技术支持团队。
更多信息请查看:
您好 论坛助手也没检索到设置方法
请问有方法可以验证修改后的redo是符合预期的吗。 我测试表中有大字段的场景,update语句不更新这个字段,测下来修改前后IO、网络流量什么的没有什么变化
事实上 我主要是在测试热点行更新的场景,两张表,分别有varch(400)、varchar(4000),其他4个字段均为int类型,update int类型的字段,两个表测试下来性能相差巨大,经排查有大量的锁冲突。怀疑是有varchar(4000)的情况下,读取大字段、和日志序列化时间变长导致的锁持有时间变长(参考:OceanBase 社区 )。所以想通过修改redolog 镜像为minimal 来进行验证。
666
这个功能用的人不多这边需要咨询下相关同学,update是否走索引了呢?按理说不会去读取lob字段。可以提供一下执行计划看看
update是根据主键等值更新,只有一条记录,且redo日志有说明,full模式会记录所有字段(来源:https://www.oceanbase.com/docs/common-oceanbase-database-cn-1000000003977765 )
另外varchar(4000)在ob中是当作lob字段处理的吗,看官方文档lob字段应该是text、blob、json这些
SET binlog_row_image=MINIMAL;当然这是在session级别生效,如果global生效:ET GLOBAL binlog_row_image=MINIMAL;
您好,是设置了global级别的,并且测试程序也是重新跑的
mysql> show global variables like ‘%binlog_row_image%’;
±-----------------±--------+
| Variable_name | Value |
±-----------------±--------+
| binlog_row_image | MINIMAL |
±-----------------±--------+