MySQLのVECTOR型

MySQL 9.0(2024年7月リリース)で新規追加されたデータ型。VECTOR(N)として宣言し、単精度浮動小数点数(4バイト)の配列を格納する。デフォルト長は2048、最大16,383次元。

#mysql #database #vector-search #ann

Community/Commercial版でできること・できないこと

VECTOR型自体はCommunity版・Commercial版でも使えるが、できることは値の格納とシリアライズに限られる。

  • 使える関数: STRING_TO_VECTOR()(文字列→バイナリ変換)、VECTOR_TO_STRING()(逆変換)、VECTOR_DIM()(次元数取得)、およびBIT_LENGTH()/CHAR_LENGTH()/HEX()/LENGTH()/TO_BASE64()など汎用の文字列関数。
  • 比較は同じVECTOR型同士の等価比較のみ可能(大小比較は不可)。
  • 主キー・外部キー・一意キー・パーティションキーには使えない。
  • 集約関数(COUNT/DISTINCT除く)・ウィンドウ関数・数値/時間/JSON/ビット/全文検索関数の引数にはできない。

決定的なのは、コサイン類似度などを計算するDISTANCE()関数(COSINE/DOT/EUCLIDEANの3指標に対応)がMySQL HeatWave(OCI上のHeatWave、またはMySQL AI)専用であり、Community版・Commercial版には含まれないこと。近似最近傍探索(ANN)用のHNSWやIVFといったベクトルインデックスもCommunity版には存在しない。つまりCommunity版では「VECTOR型に値を保存する」ことはできても、SQLだけで類似検索を行うことはできない。

HeatWave側のフル機能

MySQL HeatWaveのGenAI/Vector Store機能では、頻繁にクエリされるVECTOR列に対して自動的にHNSWベースのベクトルインデックスが構築され、大規模データ向けのANN検索と小〜中規模向けのインメモリ全探索の両方が提供される。DB内蔵LLMによる埋め込み生成、ドキュメントのパース・チャンク化・埋め込み格納の自動化、RAGパイプラインまで統合されているが、これらはOracle Cloud上の商用サービスとしてのみ利用できる。

サードパーティ・他DBとの比較

  • サードパーティのMyVectorプラグインが、MySQL 8.4.x/9.7.x向けにHNSWベースのANN検索機能を後付けで追加している。
  • 競合のMariaDBは11.7でネイティブのVECTOR INDEX(HNSW)をOSS版に実装済みで、この点でMySQL Community版より先行している。
  • PostgreSQLpgvector拡張によりOSS版のままANN検索が可能。

出典

作成日時: 2026-08-15 19:06 / 更新日時: 2026-08-15 19:06