PolarDB for MySQL のインメモリ列インデックス (IMCI) 機能は、分析処理 (AP) クエリを大幅に高速化するように設計されています。この機能を使用する前に、SQL クエリが IMCI によって正しく高速化され、期待される結果が返されるように、その制限を理解する必要があります。
一般的な制限
IMCI を使用する前に、クラスター環境とテーブルスキーマが次の要件を満たしていることを確認してください。
ストレージエンジン: IMCI は、
InnoDBストレージエンジンを使用するテーブルに対してのみ作成できます。一時テーブル: IMCI を使用して一時テーブルのクエリを高速化することはできません。
仮想カラム: 次の条件が満たされている場合、仮想カラムに IMCI を作成できます。
imci_enable_virtual_columnクラスターパラメーターがONに設定されている。説明このパラメーターはセッションレベルであり、コンソールでは変更できません。
IMCI の作成時に
order_keyが指定されていない。
仮想カラムの型: 空間データ型の仮想カラムに IMCI を作成することはできません。
マルチマスタークラスター (無制限) エディション: まず、クラスターパラメーターを変更して
loose_polar_enable_imci_with_mmパラメーターをONに設定する必要があります。その後、グローバル IMCI 読み取り専用ノードを追加して IMCI 機能を使用できます。
SELECT 文の制限
IMCI は SELECT クエリの高速化にのみ使用されます。クエリ文に次のいずれかの構造が含まれている場合、クエリ全体を IMCI で高速化することはできず、実行はローストアにフォールバックします。
ロッキングリードを使用する
SELECT文 (例:SELECT ... FOR UPDATEまたはSELECT ... FOR SHARE)。フレーム句を持つウィンドウ関数を含む
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;相関サブクエリを含む
SELECT文で、相関がサブクエリ内のJOIN句のON条件の一部である場合。例: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文の 1 つが外部クエリと相関している SELECT 文。
式と関数の制限
SELECT 文にサポートされていない式や関数が含まれている場合、クエリ全体がローストアにフォールバックして実行されます。
比較式
式 | 列ストアインデックスを使用できますか? | 注 |
|
| |
|
| |
| 入力パラメーターに | |
|
| |
| 入力パラメーターに | |
| - |
文字列式
式 | 列ストアインデックスのサポート | 注 |
| - | |
| - | |
| - | |
| IMCI 機能を使用する場合、この関数は 1 つのパラメーターのみをサポートします。2 つのパラメーターはサポートされていません。 |
集計関数式
式 | 列ストアインデックスはサポートされていますか? |
|
暗号化および圧縮式
式 | 列ストアインデックスのサポート |
| |
| |
| |
| |
| |
| |
| |
| |
|
JSON 関数
関数 | 列ストアインデックスはサポートされていますか? |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
|
空間関数
関数 | 列ストアインデックスはサポートされていますか? |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
|