クエリの最適化¶
このダイアログでは、実行エンジンの機能のうち、クエリ実行を最適化する以下の機能を有効にすることができます。
コストに基づく最適化。「 コストベースの最適化 」を参照してください。
クエリの自動簡素化。この機能を有効にすると、クエリを実行する前に、実行エンジンによってクエリの簡素化が試みられます。その目的は、クエリプランにある操作の数を削減し、データソースに委任する処理の数を多くすることにあります。この最適化はデフォルトで有効になっています。この機能の動作については「 クエリの自動簡素化 」を参照してください。
サマリ書き換え による最適化。クエリを書き換えることができるサマリビューが存在する場合、サマリに格納されたデータの活用がクエリオプティマイザーによって試みられます。
データ移動 による最適化。
並列処理 によるクエリ最適化。この機能を有効にすると、クエリオプティマイザーによって、選択したデータソースのデータベースに一時テーブルが作成され、MPP (超並列処理) を使用してデータの挿入と操作の実行ができるようになります。この場合は、以下のデータソースを選択できます。
キャッシュデータソース
別の JDBC データソース (カスタムデータソース)
キャッシュデータソースまたは選択した JDBC データソースのどちらかを、並列処理に対応したデータベースに接続する必要があります。「 並列処理 」では、さまざまなキャッシュ構成と組み合わせた MPP エンジンを設定する方法の例をいくつか取り上げています。
この最適化を有効にする場合は以下の点を確認します。
Virtual DataPort サーバーとデータベース間でデータを高速に転送できるよう、両システムを同じネットワークセグメントに置いていること。
できる限り高速でデータがこのデータベースに挿入されるように、キャッシュまたはこのデータソースの構成で [Use bulk data load APIs] チェックボックスをチェックしていること。
ウィンドウ関数 を処理する実行エンジン (Design Studio でのみ使用可能)。Virtual DataPort では、ウィンドウ関数をデータソースにプッシュダウンして委任を試みます。これができない場合、Denodo では、必要なデータを並列処理システムやキャッシュに転送することにより、外部システムでウィンドウ関数を実行できます。以下を選択できます。
並列処理用に構成されたエンジン (組み込みまたは外部)。
並列処理エンジンが構成されていない場合は、キャッシュ用に構成されたデータソース。ウィンドウ関数はリソースを消費する操作です。このオプションの有効化を推奨するのは、キャッシュデータベースに並列処理エンジンがある場合のみです。データベースごとに異なるキャッシュシステムがある場合、オプティマイザーでは、クエリを実行するユーザーが接続しているデータベースに構成されたシステムを選択します。
警告
並列処理エンジンを構成するには、Administration Tool ではなく Design Studio を使用してください。これは、Administration Tool では一部のオプションしか使用できないためです。

[Queries optimization] ダイアログ¶