oceanbase 列存自动合并

oceanbase 列存 4.3 版本:

我们有一个场景,每天早上都会将数据全部删除,然后重新插入;插入耗时50分钟, 插入完成时,查询性能非常慢,不可接受的程度;count(*) 都需要20s; 需要手动执行一次合并才可以; 请问是否 有 自动化合并的流程,或者通过API 进行主动合并的操作呢?

3 个赞

可以看下官方文档
合并管理概述-V4.3.4-OceanBase 数据库文档-分布式数据库使用文档

1 个赞

手动设置一下租户的合并时间呢
https://www.oceanbase.com/docs/common-oceanbase-database-cn-1000000001574519

3 个赞

感谢分享的资料

1 个赞

自动合并 每天只能设置一个时间,我的时间不固定,如何设置多个呢

1 个赞

好的 我在看下

1 个赞

根据租户的业务使用情况,不同的租户设置不同的合并时间吧

ALTER SYSTEM SET major_freeze_duty_time=‘01:00’ TENANT = xxx;

1 个赞

合并时间只能设置一个

1 个赞

因为数据同步完成的时间不确定,只设置一个时间会比较尴尬,业务想尽早的看到数据;但担心数据没同步完就合并 没效果,一般会留有较大的余量,设置的比较晚,; 有没有其他建议呢 ?

1 个赞

这个合并不合并 并不影响你查看数据 数据库的表的数据查询 这个都能看到 主要不合并的话 会影响查询的性能 合并完查询更快些

1 个赞

是,主要是合并以后查询速度在500ms 以内,不合并查询10s 以上,太慢了 一直超时

1 个赞

你可以把语句的执行发出来 看看能否优化的空间 或者你可以手动合并 自己写一个shell脚本
1、explain extended sql 保存在文本里
2、##### 收集SQL性能问题信息

obdiag gather scene run --scene=observer.perf_sql --env “{db_connect=’-hxx -Pxx -uxx -pxx -Dxx’, trace_id=‘xx’}”
https://www.oceanbase.com/docs/common-obdiag-cn-1000000002023082

https://www.oceanbase.com/docs/common-oceanbase-database-cn-1000000002013691

参考这篇文章, 打开自适应, 还可以设置自适应的优化策略.