Click here to view and discuss this page in DocCommentXchange. In the future, you will be sent there automatically.

SQL Anywhere 11.0.1 (日本語) » SQL Anywhere サーバ - SQL の使用法 » クエリ処理 » クエリの最適化と実行 » クエリ実行アルゴリズム » アルゴリズムの種類 » グループ化アルゴリズム

 

ClusteredHashGroupBy アルゴリズム (GrByHClust)

場合によっては、入力テーブルのグループ化カラム内の値はクラスタ化されているので、似たような値が互いに接近して現れます。たとえば、常に現在の日付に設定されているカラムがテーブルに含まれている場合、単一の日付を持つすべてのローがテーブル内で比較的近くなる傾向があります。ClusteredHashGroupBy は、このクラスタ化を利用します。

使用可能なメモリよりも大幅に大きいテーブルをグループ化する場合、オプティマイザは ClusteredHashGroupBy を使用する可能性があります。特に、HAVING 述部がローの小さい部分のみを返す場合に効果的です。

ClusteredHashGroupBy では、データがクエリ実行と同時に更新されるような環境で使用される場合、オプティマイザの作業の一部が大幅に無駄になる可能性があります。したがって、ClusteredHashGroupBy は、一時バッチ形式の更新や読み込みベースのクエリを特徴とする OLAP 負荷に最適です。optimization_workload オプションを OLAP に設定して、調査する候補に ClusteredHashGroupBy を含めるようにオプティマイザに指示します。optimization_workload オプション [データベース]を参照してください。

OLAP 負荷で使用できるインデックスまたは外部キーを作成する場合は、FOR OLAP WORKLOAD 句を指定してください。この句を指定すると、データベース・サーバは同じキー内の 2 つのローの最大ページ距離に関して、ClusteredHashGroupBy で使用する統計情報を管理します。CREATE INDEX 文CREATE TABLE 文ALTER TABLE 文を参照してください。

OLAP 負荷の詳細については、OLAP のサポートを参照してください。