JOTO
Contact us
← AI 智库
知识库

火山引擎 RDS MySQL 向量索引:把高性能向量检索带到 MySQL 上

2026 年 8 月 6 日

火山引擎 RDS MySQL 推出原生高性能向量索引,支持在 MySQL 8.0/8.4 中直接执行向量检索,无需额外部署向量数据库。其在索引构建速度(提升 4~6 倍)、索引存储大小(减少 2~4 倍)和高召回下查询吞吐(领先 pgvector 2~3 倍)三方面显著优于 MariaDB 和 pgvector,并已适配 LangChain、LlamaIndex 等主流 RAG 框架。

MySQL 原生向量能力的现实需求

随着近两年 AI 的快速发展,像 AI 模型、AI 助手等 AI 产品越来越多,这些 AI 产品几乎都用到了 RAG(检索增强生成)架构。向量数据库也逐渐重要,变成了业务不可缺少的数据库,但对于绝大多数的 MySQL 数据库用户来说,业务数据全部存储在 MySQL 中,如果需要向量检索就需要额外再部署一个向量数据库,不仅会导致数据查询链路变长,增加查询耗时,多部署一个数据库,数据同步的成本和对该数据库的运维成本也会增加。

为了解决 MySQL 用户的这个问题,火山引擎 RDS MySQL 正式推出了高性能向量索引,用户不用再单独部署向量数据库,可以让您在一张 MySQL 表里同时执行常规业务查询和向量检索,仅依赖 MySQL 数据库即可完整实现 RAG 业务能力。

与主流数据库向量能力的差异

Oracle 在 MySQL 9.0 中新增了 VECTOR 向量字段类型和一些转换函数,但是没有支持向量索引。如果用户想要做高性能近似最近邻(ANN)向量检索,要么需要扫描全表的数据,要么就是去额外购买付费的 HeatWave 组件。而火山引擎提供了轻量化、更有优势的检索方案:

  • 在 MySQL 8.0 和 MySQL 8.4 版本上都支持高性能向量索引,不需要升级到 MySQL 9.x 版本,也不需要购买额外的付费 HeatWave 组件。
  • 完全兼容 MySQL 9.x 的标准 VECTOR 向量字段定义和向量转换语法,不用改造业务代码,维护成本低。

下表列举了各数据库的原生向量能力的功能差异:

各数据库原生向量能力对比表
各数据库原生向量能力的功能差异

索引构建速度:提升 4~6 倍

MariaDB 的向量索引都是采用串行索引构建的,这就导致了构建大量向量索引的耗时极长。而火山引擎依靠自研的高性能并行构建引擎,打破了向量索引构建的瓶颈,即使是百万级向量数据,也可以快速构建向量索引。

本次测试使用参数 m=16、ef_construction=128 的 HNSW 索引配置,选取两组不同向量维度的数据集,统计了从向量数据载入至索引构建的整体耗时。

索引构建耗时对比柱状图
索引构建耗时对比

根据柱状图的对比数据,可以得出以下结论:

  • 1536 维、5 万条向量数据:MariaDB 构建索引耗时 126 秒,pgvector 构建索引耗时 27.76 秒,火山引擎 RDS MySQL 构建索引耗时 22 秒。火山引擎 RDS MySQL 构建索引的速度相比 MariaDB 提升约 6 倍。
  • 768 维、100 万条向量数据:MariaDB 构建索引耗时 2524.5 秒,pgvector 构建索引耗时 378.5 秒,火山引擎 RDS MySQL 构建索引耗时 645.6 秒。火山引擎 RDS MySQL 构建索引的速度相比 MariaDB 提升约 4 倍。

向量数据集越大,并行构建向量索引的效率提升越明显,在百万级向量索引构建场景下,索引的构建时间从 42 分钟缩短到至 11 分钟以内。

索引存储大小:减少 2~4 倍

原生 pgvector 仅支持 Float32 向量存储,构建的索引占用的磁盘空间较大。而火山引擎 RDS MySQL 提供 SQ16、SQ8 两种标量量化,用更紧凑的方式存储向量索引。

索引大小对比柱状图
索引大小对比

结合上述柱状图对比数据,可以得出以下结论:

  • 1536 维、5 万条向量数据:MariaDB 构建的索引大小为 218.1 MB,pgvector 构建的索引大小为 391 MB,火山引擎 RDS MySQL 构建的索引大小为 220.4 MB。
  • 768 维、100 万条向量数据:MariaDB 构建的索引大小为 2.135 GB,pgvector 构建的索引大小为 3.906 GB,火山引擎 RDS MySQL 构建的索引大小为 2.219 GB。

相比 pgvector,开启 SQ16 量化后索引大小可缩减至 1/2,SQ8 量化后进一步缩减至 1/4,可以有效减少向量索引占用的磁盘空间,降低存储成本。

高召回下查询吞吐:领先 pgvector 2~3 倍

本次性能测试使用行业公认基准工具 VectorDBBench 执行,基于高召回率的实用业务区间,统计各数据库向量检索吞吐(QPS)指标。

高召回率下 QPS 对比柱状图
高召回率下 QPS 对比

结合上述柱状图对比数据,可以得出以下结论:

  • 1536 维 5 万条向量数据、97% 召回率:MariaDB 向量检索吞吐(QPS)为 5326,pgvector 向量检索吞吐(QPS)为 3600,火山引擎 RDS MySQL 向量检索吞吐(QPS)为 8334。相比之下,火山引擎 RDS MySQL 的向量吞吐(QPS)约为 MariaDB 的 1.6 倍、pgvector 的 2.3 倍。
  • 768 维 100 万条向量数据、95% 召回率:MariaDB 向量检索吞吐(QPS)为 3703,pgvector 向量检索吞吐(QPS)为 2100,火山引擎 RDS MySQL 向量检索吞吐(QPS)为 4838。相比之下,火山引擎 RDS MySQL 的向量吞吐(QPS)约为 MariaDB 的 1.3 倍、pgvector 的 2.3 倍。

RDS MySQL 即 RAG 向量库

除了具备高性能向量索引的能力外,是否能低成本、快速便捷地接入 AI 应用也很重要。火山引擎 RDS MySQL 官方适配 LangChain、LlamaIndex 两大主流 RAG 开发框架,将底层的向量操作 SQL 封装成标准的 vector_store 接口,仅调用框架标准 API 即可完成向量表和向量索引的创建、向量的增删改查、相似度检索等操作。开发者不用再手写 SQL,即可将 RDS MySQL 作为 RAG 框架原生向量存储后端。

综上所述,您的 MySQL 实例可以直接作为向量数据库去使用,无需再额外部署 Milvus、Pinecone 或 Weaviate 等向量引擎数据库了;并且业务数据和向量数据存储在同一张表中,也保证了业务数据与向量数据的一致性。

from langchain_community.vectorstores import MySQLVectorStore

vectorstore = MySQLVectorStore(
    connection_string="mysql+pymysql://user:pass@rds-endpoint:3306/mydb",
    embedding_function=embeddings,
    table_name="documents"
)

# 直接当向量数据库用
results = vectorstore.similarity_search("如何配置数据库备份?", k=5)

JOTO 企业落地观察

  • 企业若已深度依赖 MySQL 作为核心业务数据库,引入该能力可避免新增向量数据库带来的数据一致性治理负担,尤其适用于对事务强一致性和跨表关联查询有刚性要求的金融、政务类 RAG 场景。
  • 向量索引与业务表共存的设计,降低了 RAG 系统的部署复杂度,但要求团队具备 MySQL 内核级向量能力的运维认知——传统 DBA 需补足 ANN 索引调优、量化参数选型等新知识域。
  • LangChain/LlamaIndex 的开箱适配大幅压缩了原型验证周期,但企业需评估其封装层对高级向量操作(如混合过滤+向量检索、动态权重融合)的支持边界,避免后期因框架抽象泄漏导致二次开发成本上升。
  • 标量量化(SQ16/SQ8)虽节省存储,但会引入精度损失;企业在选择量化策略时,需在召回率稳定性与磁盘成本间做显性权衡,不能仅依据“缩减至 1/4”这一数值做决策。

立即咨询 JOTO

JOTO 提供覆盖企业智能体规划与搭建、AI 平台私有化部署、RAG 知识工程、AI 安全治理、FDE 驻场共创及持续运营优化的全周期 AI 落地服务,帮助企业把验证中的 AI 能力转化为安全、可控、可持续迭代的生产力。 联系 JOTO 获取 AI 落地咨询

想把这些做法用到你的业务里?

留下你的场景和痛点,我们帮你判断从哪一步开始。

联系我们
Contact Us

Start your enterprise AI rollout

Tell us your industry, team, and current pain points. We'll get back to you within one business day to help you decide what to tackle first, what data to prepare, and which platform fits.

WeChat
Scan to add us for a 1:1 chat
JOTO WeChat consultation QR code

Tell us what you need

Once we receive your details, we'll be in touch within one business day.