すべてのプロダクト
Search
ドキュメントセンター

PolarDB:制限事項

最終更新日:Jan 29, 2026

PolarDB for MySQL のインメモリ列インデックス (IMCI) 機能は、分析処理 (AP) クエリを大幅に高速化するように設計されています。IMCI が SQL クエリを正しく高速化し、期待される結果を返すようにするため、この機能を使用する前に、その適用範囲と制限事項を確認してください。

一般的な制限事項

インメモリ列インデックスを使用する前に、ご利用のクラスター環境とテーブルスキーマが次の要件を満たしていることを確認してください。

  • ストレージエンジン:列ストアインデックスは、InnoDB ストレージエンジンを使用するテーブルでのみサポートされます。

  • 一時テーブル:IMCI を使用して一時テーブルに対するクエリを高速化することはできません。

  • 仮想カラム:次の条件を満たす場合、仮想カラムにインメモリ列インデックスを作成できます。

    • imci_enable_virtual_column クラスターパラメーターを ON に設定します。

      説明

      これは SESSION レベルのパラメーターであり、コンソールでは変更できません。

    • インメモリ列インデックスの作成時に order_key が指定されていません。

  • 仮想カラムの型:空間 (Spatial) 型の仮想カラムに対してインメモリ列インデックスを作成することはできません。

  • マルチマスタークラスター (無制限) エディションの場合、まずクラスターパラメーターを変更して loose_polar_enable_imci_with_mmON に設定する必要があります。その後、インメモリ列インデックス用のグローバル読み取り専用ノードを追加し、IMCI 機能を使用できます。

SELECT 文の制限事項

列ストアインデックスは SELECT クエリのみを高速化します。クエリ文に次のいずれかの構造が含まれている場合、クエリは列ストアインデックスによって高速化されず、ローストア実行にフォールバックします。

  • SELECT ... FOR UPDATESELECT ... FOR SHARE のようなロック読み取りを含む SELECT 文。

  • フレーム定義を持つウィンドウ関数を含む SELECT 文。たとえば、OVER() 句で ROWS UNBOUNDED PRECEDING を使用する場合です。

    SELECT
        time,
        subject,
        val,
        SUM(val) OVER (
            PARTITION BY subject
            ORDER BY time
            ROWS UNBOUNDED PRECEDING  --- ウィンドウ関数内のフレーム定義、IMCI では非サポート
        ) AS running_total
    FROM
        observations;
  • サブクエリが GROUP BY 句に現れる SELECT 文。例:SELECT SUM(a) FROM t1 GROUP BY (SELECT ... FROM ...) as some_subquery;

  • サブクエリが ORDER BY 式に現れる SELECT 文。例:SELECT a FROM t1 ORDER BY (SELECT ... FROM ...) as some_subquery;

  • 相関サブクエリが JOINON 条件に現れる SELECT 文。例:WHERE t1.a in (SELECT t2.a FROM t2 INNER JOIN t3 on t2.a = t3.a AND t2.b > t1.b);

  • サブクエリにウィンドウ関数が含まれ、その相関項目が HAVING 条件に現れる SELECT 文。

  • サブクエリに UNION が含まれ、その相関項目が UNION のサブクエリのいずれかに現れる SELECT 文。

式と関数の制限事項

SELECT 文にサポートされていない式や関数が含まれている場合、クエリ全体がローストア実行にフォールバックします。

比較式

列ストアインデックスはサポートされていますか?

注意事項

BETWEEN ... AND ...

サポート

a BETWEEN b AND c において bc のデータ型が異なる場合、互換性の問題が発生する可能性があります。クエリ結果が、インメモリ列インデックスを使用しないクエリの結果と一致しない場合があります。

NOT BETWEEN ... AND ...

サポート

a NOT BETWEEN b AND c において bc のデータ型が異なる場合、互換性の問題が発生する可能性があります。クエリ結果が、インメモリ列インデックスを使用しないクエリの結果と一致しない場合があります。

GREATEST()

サポート

入力パラメーターに TIME 型と文字列型の両方が含まれる場合、比較結果がインメモリ列インデックスを使用しないクエリの結果と異なる場合があります。

IN()

サポート

IN(expr0, expr1, ...) において expr0,expr1,... のデータ型が異なる場合、互換性の問題が発生する可能性があります。クエリ結果が、インメモリ列インデックスを使用しないクエリの結果と一致しない場合があります。

LEAST()

サポート

入力パラメーターに TIME 型と文字列型の両方が含まれる場合、比較結果がインメモリ列インデックスを使用しないクエリの結果と異なる場合があります。

SOUNDS LIKE

非サポート

-

文字列式

列ストアインデックスはサポートされていますか?

注意事項

SOUNDEX()

非サポート

-

MATCH

サポート

BOOLEAN MODE と NATURAL LANGUAGE MODE がサポートされています。

LOAD_FILE()

非サポート

-

TIMESTAMP()

サポート

IMCI を使用する場合、この関数は 1 つのパラメーターのみをサポートします。2 つのパラメーターはサポートしていません。

暗号化および圧縮式

列ストアインデックスのサポート

AES_DECRYPT()

非サポート

AES_ENCRYPT()

非サポート

COMPRESS()

非サポート

RANDOM_BYTES()

非サポート

STATEMENT_DIGEST()

非サポート

STATEMENT_DIGEST_TEXT()

非サポート

UNCOMPRESS()

非サポート

UNCOMPRESSED_LENGTH()

非サポート

VALIDATE_PASSWORD_STRENGTH()

非サポート

JSON 関数

関数

列ストアインデックスのサポート

JSON_ARRAY_INSERT()

非サポート

JSON_CONTAINS_PATH()

非サポート

JSON_INSERT()

非サポート

JSON_MERGE()

非サポート

JSON_MERGE_PATCH()

非サポート

JSON_MERGE_PRESERVE()

非サポート

JSON_REPLACE()

非サポート

JSON_SCHEMA_VALID()

非サポート

JSON_SCHEMA_VALIDATION_REPORT()

非サポート

JSON_SEARCH()

非サポート

JSON_SET()

非サポート

JSON_STORAGE_FREE()

非サポート

JSON_STORAGE_SIZE()

非サポート

JSON_VALUE()

非サポート

MEMBER OF()

非サポート

空間関数

関数

列ストアインデックスはサポートされていますか?

ST_AsGeoJSON()

非サポート

ST_Buffer()

非サポート

ST_Buffer_Strategy()

非サポート

ST_Centroid()

非サポート

ST_Collect()

非サポート

ST_ConvexHull()

非サポート

ST_EndPoint()

非サポート

ST_ExteriorRing()

非サポート

ST_FrechetDistance()

非サポート

ST_GeoHash()

非サポート

ST_GeometryN()

非サポート

ST_GeometryType()

非サポート

ST_GeomFromGeoJSON()

非サポート

ST_HausdorffDistance()

非サポート

ST_InteriorRingN()

非サポート

ST_Intersection()

非サポート

ST_IsClosed()

非サポート

ST_IsEmpty()

非サポート

ST_IsSimple()

非サポート

ST_IsValid()

非サポート

ST_LatFromGeoHash()

非サポート

ST_LineInterpolatePoint()

非サポート

ST_LineInterpolatePoints()

非サポート

ST_LongFromGeoHash()

非サポート

ST_NumGeometries()

非サポート

ST_NumInteriorRing()

非サポート

ST_NumInteriorRings()

非サポート

ST_NumPoints()

非サポート

ST_PointAtDistance()

非サポート

ST_PointFromGeoHash()

非サポート

ST_PointN()

非サポート

ST_StartPoint()

非サポート

ST_SwapXY()

非サポート