【 使用环境 】测试环境
【 OB or 其他组件 】
【 使用版本 】4.3.5.3
【问题描述】
向量检索查询耗时不稳定原因排查及如何优化查询性能
【复现路径】
【附件及日志】
表结构:
CREATE TABLE data_detail (
id bigint not null auto_increment COMMENT ‘自增主键’,
scene_url varchar(500) not null COMMENT ‘图片链接’,
shot_time datetime not null COMMENT ‘拍摄时间’,
device_id varchar(255) not null COMMENT ‘设备ID’,
person_count bigint not null COMMENT ‘人员数量’,
relation_id varchar(500) default null COMMENT ‘目标ID’,
obj_id varchar(500) default null COMMENT ‘追踪ID’,
target_type varchar(100) default null COMMENT ‘目标类型’,
x1 int default null COMMENT ‘边界框左上角的x坐标’,
y1 int default null COMMENT ‘边界框左上角的y坐标’,
x2 int default null COMMENT ‘边界框右下角的x坐标’,
y2 int default null COMMENT ‘边界框右下角的y坐标’,
reid_embedding VECTOR(512) default null COMMENT ‘reid向量’,
align_embedding VECTOR(768) default null COMMENT ‘对齐向量’,
create_time datetime not null COMMENT ‘创建时间’,
PRIMARY KEY (id),
index idx_shot_time_device_id_target_type (shot_time, device_id, target_type),
VECTOR INDEX idx_reid_embedding (reid_embedding) WITH (distance=cosine, type=hnsw, lib=vsag),
VECTOR INDEX idx_align_embedding (align_embedding) WITH (distance=cosine, type=hnsw, lib=vsag)
)
查询语句:
SELECT t.id as id, t.scene_url as sceneUrl, t.shot_time as timestamp, t.device_id as deviceId, t.person_count as personCount, t.obj_id as objId, t.target_type as type, t.x1, t.y1, t.x2, t.y2, cosine_distance(t.reid_embedding, ?) AS simi FROM dw_1998913224163164160 as t WHERE t.reid_embedding is not null and t.shot_time >= ? and t.shot_time <= ? and t.target_type = ? ORDER BY simi APPROXIMATE LIMIT ?
执行计划
查询耗时:
oot@user-pc:/home/dev/logs/data# cat info.log | grep selectPageResultsTopK
2026-03-03 09:09:37.552 [http-nio-18080-exec-1] INFO c.d.c.s.i.DataWarehouseServiceImpl - [queryByTopK,210] - queryByTopK, selectPageResultsTopK, cost: 543ms, traceId: 2028638892886827008
2026-03-03 09:15:14.977 [http-nio-18080-exec-3] INFO c.d.c.s.i.DataWarehouseServiceImpl - [queryByTopK,210] - queryByTopK, selectPageResultsTopK, cost: 125ms, traceId: 2028640309903073280
2026-03-03 09:15:22.265 [http-nio-18080-exec-4] INFO c.d.c.s.i.DataWarehouseServiceImpl - [queryByTopK,210] - queryByTopK, selectPageResultsTopK, cost: 16ms, traceId: 2028640340924145664
2026-03-03 09:15:25.302 [http-nio-18080-exec-5] INFO c.d.c.s.i.DataWarehouseServiceImpl - [queryByTopK,210] - queryByTopK, selectPageResultsTopK, cost: 15ms, traceId: 2028640353670635520
【备注】基于 LLM 和开源文档 RAG 的论坛小助手已开放测试,在发帖时输入 [@论坛小助手] 即可召唤小助手,欢迎试用!
