ob 索引表维护消耗大量 io 资源

【 使用环境 】生产环境
【 使用版本 】4.3.5.2
【问题描述】ob 索引表维护消耗大量 io 资源
【复现路径】无法复现
【附件及日志】
大佬们,生产集群在晚上 9 点触发了 7 个 insert … select …,消耗了大量的 io 资源。涉及到的表 __idx_xxx_idx_xxx_index_snapshot_data_table 看起来是内部索引表相关,这是什么操作呢,触发逻辑是什么呢



INSERT
/*+ monitor enable_parallel_dml parallel(1) opt_param(‘ddl_execution_id’, 1) opt_param(‘ddl_task_id’, 93659003) opt_param(‘enable_newsort’, ‘false’) use_px /
INTO tuya_aimemory_prod.__idx_500583_idx_1764334847108061_index_snapshot_data_table PARTITION(p0, p3)(
__key_20_1748264415604471,
id,
__vid_1748264415602220,
__vector_20_1748264415602775,
__data_20_1748264415604809
)
SELECT
/
+ index(ai_doc primary) ob_ddl_schema_version(ai_doc, 1764334848743784) */
__key_20_1748264415604471 AS __key_20_1748264415604471,
id AS id,
__vid_1748264415602220 AS __vid_1748264415602220,
__vector_20_1748264415602775 AS __vector_20_1748264415602775,
__data_20_1748264415604809 AS __data_20_1748264415604809
from
tuya_aimemory_prod.ai_doc PARTITION(p0, p3) as of snapshot 1764334848906957000
order by
1,
2;

1 个赞

使用的是向量么
每隔24h刷新一次snapshot_data_table,即把 delta_buffer_table,index_id_table,snapshot_data_table的数据删除,新建,并从主表中,补全新的 snapshot_data_table。(全量刷新)

是用到向量了。这是每个向量表、每天都会有这个操作吗,这个表已经蛮久了,那应该每天都有这操作的,可之前没怎么观察到,有文档介绍吗

每天都会操作。可能是数据库压力导致该sql执行时间较长导致