基于湖库一体架构,统一管理结构化、半结构化与非结构化等多模态数据,一个系统承载事务处理、实时分析与 AI 工作负载。
AI 场景常见问题
更新时间:2026-10-16 14:12:38
本文介绍了 OceanBase AI 数据库使用过程中可能遇到的一些常见问题及相关的原因和解决方法。
混合搜索
Rerank 精排调用外部模型的开销有多大?
Rerank 精排调用外部 AI 模型时,整体开销主要受到以下因素影响:模型大小、请求参数、网络延迟等。推荐使用 Profile 工具进行详细开销分析。
使用
/*+monitor*/Hint 执行混合搜索 SQL:SELECT /*+ monitor */ content FROM HYBRID_SEARCH( TABLE doc_table, '{ "knn": { "field": "vector", "k": 3, "query_vector": "[1, 2, 3]" }, "rerank" : { "model": "aliyun-dashscope/gte-rerank-v2", "field": "content", "query": "oceanbase mysql", "rank_window_size": 3 }, "size": 3 }');执行 Profile 命令,查看执行期物理算子的详细结构及统计信息:
SELECT DBMS_XPROFILE.DISPLAY_PROFILE();
需要重点关注的 Profile 信息如下:
- rerank document:参与 rerank 的文档数量。
- rerank api call:rerank 模型的实际 API 调用次数(与
batch_size和rank_window_size有关)。 - rerank elapse:精排过程的总耗时。
- rerank http elapse:Rerank API 进行 HTTP 请求的实际耗时。
通过上述方式,可以直观评估 Rerank 精排阶段调用外部模型所产生的资源和时间消耗。
全文/标量查询并行执行
query_dop 设到很大(如 128)一定更快吗?
不一定。实际并行度受租户线程池容量、数据规模、调度开销限制;过大的 query_dop 在线程紧张时会引发排队,长尾 RT 反而升高。建议从 2 / 4 开始观察收益再调优。
如何验证某条查询确实开启了并行?
可以通过 Query Profile 观察查询实际的并行度。具体步骤如下:
执行你的混合搜索查询,例如:
SELECT tid, __score FROM HYBRID_SEARCH(TABLE passages_test, @q);查看刚刚执行的 SQL 的 Profile 信息(默认使用最近一次
trace_id):SELECT DBMS_XPROFILE.DISPLAY_PROFILE();或者也可以通过显式指定
trace_id查看某次具体的查询:SELECT DBMS_XPROFILE.DISPLAY_PROFILE('<trace_id>');DBMS_XPROFILE.DISPLAY_PROFILE用于展示 SQL 执行计划的性能分析数据,详细信息请参见 DISPLAY_PROFILE。判断实际是否为并行执行、并发度为多少:
并行执行:在 profile 的
Fusion Iter节点下会出现parallel task count:N,并嵌套 N 个Task子树,每个 Task 代表一个并行工作线程(worker),N 即实际的并行度。开启自适应并行度时,还可关注auto dop target、auto dop actual等信息,含义参见 DISPLAY_PROFILE。Fusion Iter parallel task count:4 Task Search Driver Iter ... Task Search Driver Iter ... ...串行执行:
Fusion Iter下没有parallel task count字段,也不存在Task嵌套,各个子查询路径直接挂在Fusion Iter下。Fusion Iter Vector Iter ... Search Driver Iter ...
向量搜索
在什么模式下支持向量搜索?
OceanBase AI 数据库支持向量搜索。
向量列中,每一行的数据维度是否必须相同?
必须相同,定义向量列时必须指定维度,写入向量数据时也必须校验维度。
最大支持写入多少行的向量数据?
不限,取决于租户内存资源。
如何对超过 4096 维的向量建索引?
需要对数据做维度压缩,压缩到 4096 维以内之后再建索引。
语义索引
跨模态查询(以文搜图)有什么要求?
须使用 VL(多模态)Embedding 模型,且文本与图片输出在同一向量空间;否则运行时报错。详细说明请参见 语义搜索。
为什么图片语义索引不支持 immediate 模式?
图片 Embedding 需通过网络下载 URL 并调用多模态模型,单次延迟通常在秒级,远高于文本 Embedding。在 DML 路径内同步执行会长时间阻塞 INSERT/UPDATE,严重影响写入性能。图片场景请使用 async 或 manual 模式。