このページでは、AlloyDB for PostgreSQL カラム型エンジンに関する一般的な問題と質問に対して推奨される修正と情報を提供します。
参照先の列をカラム型エンジンに追加したものの、SELECT クエリで使用されていない
説明: カラム型エンジンを使用するには、クエリ フラグメント(結合やスキャンなど)で参照されるすべての列がカラム型ストアに存在している必要があります。参照先の列がカラム型エンジン内にない場合、クエリ フラグメントはデフォルトで行ベースのストアになります。
このコンテキストのクエリ フラグメントは、複数のスキャンノードを持つことが可能なクエリです。たとえば、クエリ フラグメントに結合用の 2 つのスキャンノードを含めることが可能です。1 つのスキャンノードがカラム型以外を使用し、別のスキャンノードがカラム型を使用している場合があります。スキャンノードのすべての列(フィルタ列と投影列)は、カラム型で入力する必要があります。同様に、クエリには、カラム型のパーティションとカラム型ではないパーティションを含めることが可能です。
推奨の対応方法: 参照先のすべての列がカラム型エンジンにあることを確認する手順は次のとおりです。
サポートされているデータ型を確認します。
AlloyDB が、カラム型エンジンで使用する予定の列のすべてのデータ型をサポートしていることを確認します。詳細については、サポートされるデータ型をご覧ください。AlloyDB が重要なデータ型をサポートしていない場合は、Google Cloud サポートにお問い合わせください。
サポートされている演算子を確認します。
AlloyDB がカラム型エンジンのデータ型の演算子をサポートしていることを確認します。サポートされている演算子の詳細については、カラム型エンジンのメリットを享受できるクエリタイプをご覧ください。
EXPLAIN COLUMNAR_ENGINEコマンドを実行します。特定のクエリでカラム型エンジンを使用できない問題を特定して解決するには、次の
EXPLAIN COLUMNAR_ENGINEコマンドを実行します。EXPLAIN (COLUMNAR_ENGINE, ANALYZE) SELECT column1, column2 FROM my_table WHERE column3 > 100;
カラム型エンジンでテーブルを追加または削除できない
説明: カラム型エンジンでテーブルを追加または削除します。
推奨の対応方法: ユーザー権限を確認します。カラム型エンジンでテーブルを追加または削除できるのは、テーブルに対する読み取り権限がある場合のみです。
カラム型データのサイズが、割り当てられたメモリを超えている
説明: カラム型データのサイズが、カラム型エンジンに割り当てられたメモリを超えると、パフォーマンスやデータ処理の問題が発生します。
推奨の対応方法: 最適なパフォーマンスを得るには、AlloyDB の推奨機能を使用して、カラム型エンジンにデータを入力する最適なテーブルと列を特定します。
推奨されるテーブルと列がカラム型エンジンの物理メモリを超えると、超過分のカラム型データは超高速キャッシュ レイヤの一部を使用します。テーブル内の残りのデータ(カラム型エンジンにないデータ)に対するクエリでは、行ストアを透過的に使用します。
カラム型エンジンのメモリとストレージ キャッシュの割り当てを調整することもできます。カラム型エンジンは、メモリとストレージ キャッシュのデフォルト サイズでプロビジョニングされます。メモリとストレージ キャッシュは手動で構成できます。カラム型エンジンに割り当てられるメモリまたはストレージ キャッシュの量を変更するには、カラム型エンジンのメモリを構成するをご覧ください。