---
title: "向量搜索常见问题 - OceanBase 数据库 V4.6.0 | OceanBase 文档中心"
description: 向量搜索常见问题 本文介绍了向量搜索使用过程中可能遇到的一些常见问题及相关的原因和解决方法。 在什么模式下支持向量搜索？ OceanBase 的 MySQL 模式支持向量搜索，Oracle 模式暂不支持。 向量列中，每一行的数据维度是否必须相同？ 必须相同，定义向量列时必须指定维度，写入向量数据时也必须校验维度。 最…
---
切换语言

- 中文站 - 简体中文
- International - English
- 日本站 - 日本語

文档反馈![](https://mdn.alipayobjects.com/huamei_22khvb/afts/img/A*P8CuR4UJ_FkAAAAAAAAAAAAADiGDAQ/original) OceanBase 数据库分布式版 - V 4.6.0

# AI 场景常见问题

更新时间：2026-08-05 14:51:35

[编辑](https://github.com/oceanbase/oceanbase-doc/edit/V4.6.0/zh-CN/640.ob-vector-search/800.ob-vector-search-faq.md)  

本文介绍了 OceanBase AI 数据库使用过程中可能遇到的一些常见问题及相关的原因和解决方法。

## 混合搜索

### Rerank 精排调用外部模型的开销有多大？

Rerank 精排调用外部 AI 模型时，整体开销主要受到以下因素影响：模型大小、请求参数、网络延迟等。推荐使用 Profile 工具进行详细开销分析。

1. 使用 `/*+monitor*/` Hint 执行混合搜索 SQL：

   ```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
     }');

   ```
 2. 执行 Profile 命令，查看执行期物理算子的详细结构及统计信息：

   ```sql
   CALL 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 观察查询实际的并行度。具体步骤如下：

1. 执行你的混合搜索查询，例如：

   ```sql
   SELECT tid, __score FROM HYBRID_SEARCH(TABLE passages_test, @q);

   ```
 2. 查看刚刚执行的 SQL 的 Profile 信息（默认使用最近一次 `trace_id`）：

   ```sql
   SELECT DBMS_XPROFILE.DISPLAY_PROFILE();

   ```

   或者也可以通过显式指定 `trace_id` 查看某次具体的查询：

   ```sql
   SELECT DBMS_XPROFILE.DISPLAY_PROFILE('<trace_id>');

   ```

   `DBMS_XPROFILE.DISPLAY_PROFILE` 用于展示 SQL 执行计划的性能分析数据，详细信息请参见 [DBMS_XPROFILE](https://www.oceanbase.com/docs/common-oceanbase-database-cn-1000000005686431)。
 3. 判断实际是否为并行执行、并发度为多少：

      - 并行执行：在 profile 的 `Fusion Iter` 节点下会出现 `parallel task count:N`，并嵌套 N 个 `Task` 子树，每个 Task 代表一个并行工作线程（worker），N 即实际的并行度。

       ```shell
       Fusion Iter
         parallel task count:4
           Task
             Search Driver Iter
               ...
           Task
             Search Driver Iter
               ...
           ...

       ```
      - 串行执行：`Fusion Iter` 下没有 `parallel task count` 字段，也不存在 `Task` 嵌套，各个子查询路径直接挂在 `Fusion Iter` 下。

       ```shell
       Fusion Iter
         Vector Iter
           ...
         Search Driver Iter
           ...

       ```

## 向量搜索

### 在什么模式下支持向量搜索？

OceanBase 的 MySQL 模式支持向量搜索，Oracle 模式暂不支持。

### 向量列中，每一行的数据维度是否必须相同？

必须相同，定义向量列时必须指定维度，写入向量数据时也必须校验维度。

### 最大支持写入多少行的向量数据？

不限，取决于租户内存资源。

### 如何对超过 4096 维的向量建索引？

需要对数据做维度压缩，压缩到 4096 维以内之后再建索引。

 上一篇 下一篇 ![有帮助](https://gw.alipayobjects.com/mdn/ob_asset/afts/img/A*y6ocSqN8cqsAAAAAAAAAAAAAARQnAQ)![无帮助](https://gw.alipayobjects.com/mdn/ob_asset/afts/img/A*BG9IQJyLHF8AAAAAAAAAAAAAARQnAQ)![反馈](https://gw.alipayobjects.com/mdn/ob_asset/afts/img/A*eTWdQKCRKHwAAAAAAAAAAAAAARQnAQ)[AI](https://www.oceanbase.com/obi) 咨询热线
