ビューに対するクエリの実行

ビューに対してクエリを実行するには、そのビューを開いて [Execution panel] (image0) をクリックします。

デフォルトのクエリは SELECT * FROM viewname です。

クエリに AND 条件を追加するには、[Conditions] の横にある image1 をクリックします。条件ごとに以下の情報を指定する必要があります。

  • ビューの属性のいずれか 1 つ。

  • 条件の演算子: =、<>、contains など。

  • オペランド。定数、ビューの属性、および関数を使用した任意の式を指定できます (『VQL ガイド』の「 条件と派生属性の関数 」を参照)。

    [Help] メニュー > [Functions list] の順にクリックすると、既存の関数のリストが表示されます。

    複合型または XML 型の属性を選択した場合、ボックスの横のアイコンをクリックすると、それぞれ Compound values editor または XML editor が開きます。

[Specify Where expression] オプションを選択して、複雑なクエリを記述することもできます。クエリを記述するボックスで Ctrl + Space キーを押すと、オートコンプリートリストが表示されます。正しい構文の式を作成するうえで、この機能が効果的です。


クエリを記述する際、クエリの「WHERE」句で必須パラメーターの値を指定する必要があることに注意してください。

このダイアログでは、以下のオプオションを使用できます。

  • Do not use cache: チェックしている場合、クエリを実行すると、このビューでキャッシュが有効であっても、キャッシュの内容が無視され、元のソースからデータが取得されます。このビューが複数のビューの組み合わせであっても、それらのキャッシュの内容は無視されます。

  • Store results in cache: チェックしている場合、[Retrieve all rows] が自動的にチェックされ、クエリの結果がビューのキャッシュに保存されます。これは、クエリの CONTEXT 句に 'cache_preload' = 'true' パラメーターを追加した場合と同じです。

    注釈

    このオプションは、ビューのキャッシュモードが [Full] または [Partial with explicit loads] である場合にのみ有効です。キャッシュモードとして [Full] を指定し、[Store results in cache] をチェックして、[Retrieve all rows] をチェックしていない場合、キャッシュに保存できる結果の最大数は [Display rows] の値に制限されます。

  • Wait for cache load: チェックしている場合、クエリの結果全体が管理ツールに返されてキャッシュデータベースに保存されるまで、クエリは完了しません。このチェックボックスをチェックしていない場合、クエリの結果全体が管理ツールに返されると、データ全体が正常にキャッシュされるまで待機することなくクエリは完了します。

    結果をキャッシュする必要があるクエリが Virtual DataPort サーバーで実行される場合、通常は、結果全体がキャッシュデータベースに保存される前に、管理ツールによる処理が完了します。データベースにデータを挿入するタスクのほうが低速であることが普通だからです。このチェックボックスをチェックしていない場合、クエリが完了した後でキャッシュデータベースへのデータ挿入でエラーがあっても、Virtual DataPort サーバーから管理ツールにはエラーの発生を通知できません。このチェックボックスをチェックしておけば、そのようなエラーの発生を知ることができます。このチェックボックスをチェックすることは、クエリの CONTEXT 句に 'cache_wait_for_load' = 'true' パラメーターを追加した場合と同じです。

    このチェックボックスをチェックして、[Execute with TRACE] チェックボックスもチェックしておくと、キャッシュデータベースにデータを保存するプロセスに関する情報がクエリの実行トレースに追加されます。

    詳細については、「 キャッシュモード 」で cache_wait_for_load オプションを検索して参照してください。

  • Invalidate existing results: チェックしている場合、このビューのキャッシュに置かれたデータが無効化されたうえで新しいデータが保存されます。これは、クエリの CONTEXT 句に 'cache_invalidate' = 'matching_rows' パラメーターを追加した場合と同じです。

    注釈

    このオプションは、ビューのキャッシュモードが [Full] である場合にのみ有効です。

  • Display rows: 結果の先頭から、指定した数の行のみが表示されます。

  • Retrieve all rows: チェックしている場合、[Display rows] で指定した数の行のみが表示されますが、結果セットの残りの行に対しても処理は継続します。

    このチェックボックスをチェックしていない場合、Virtual DataPort サーバーに送信されるクエリに LIMIT 句が追加されます。たとえば、[Display rows] を 100 に設定している場合、クエリ SELECT * FROM view を実行すると、送信されるクエリは SELECT * FROM view LIMIT 100 になります。これにより、100 行の結果が処理された後でクエリが完了します。

    注釈

    なお、[Retrieve all rows] をチェックしていない場合、キャッシュモードを [Partial] に構成したビューを実行してもクエリがキャッシュされない点に注意が必要です。

  • Do not use swap: チェックしている場合、スワップが有効であっても、クエリを実行した中間結果はディスクにスワップされません。このビューが複数のビューの組み合わせであっても、それらの中間結果もディスクにスワップされません。

クエリを実行する前に [Query plan] をクリックすると、クエリの実行で Virtual DataPort によって使用される実行プランを事前に取得できます (「 ステートメントの実行トレース 」を参照)。

どのクエリの実行も、[Stop] (image2) をクリックすることによっていつでもキャンセルできます。

図「 Executing the view incidents_sales 」に、 incidents_sales ビューの実行結果を示します。

実行が完了した後、[Execution trace] (前述のダイアログで [Execute with TRACE] チェックボックスをチェックしている場合にのみ有効) をクリックすることによって実行トレースを表示できます (「 ステートメントの実行トレース 」を参照)。

Executing the view incidents_sales

incidents_sales ビューの実行

クエリを実行して返された応答に複合フィールド (レジスターまたは配列) がある場合、そのフィールドをダブルクリックすると、そのサブコンポーネントに移動します。 以下の図 は、 average_revenue_array 基本ビュー (「 フラット化ビューの作成 」で作成したビュー) の実行結果を示しています。このビューにクエリを実行した結果にはタプルが 1 つのみ存在し、そこにはレジスターの配列型のフィールドが 1 つあります。各レジスターには、顧客の taxId と平均月間売上高が保持されています。[Array] フィールドをダブルクリックするとその内容が表示され、[RESULT] をクリックすると前のレベルに戻ります。

Result comprised of one tuple with a field of the type array of registers

レジスターの配列型のフィールドを持つタプル 1 つで構成された結果

Content of a field of the type array of registers

レジスターの配列型のフィールドの内容

クエリの結果を zip ファイルにエクスポートするには [Save] (image4) をクリックします。以下の各オプションで、エクスポートする情報を選択できます。

  • Include trace: ステートメントから実行トレースが返される場合、その実行トレースがバイナリファイル形式とテキストファイル形式で zip ファイルに追加されます。

  • Include image: ステートメントから実行トレースが返される場合、その実行トレースが画像として zip ファイルに追加されます。

  • Include results: 結果を CSV ファイルで保存します。この CSV ファイルには、結果のすべての行ではなく、管理ツールに表示されている行のみが保存されます。たとえば、[Display rows] を 150 に設定している場合、クエリから 200 行の結果が返されても、保存されるのは 150 行のみです。

Export the result of the query

クエリの結果のエクスポート

Trace Viewer ([Tools] メニュー > [Trace viewer]) を使用して、後でこのファイルを読み込むことができます。クエリを実行した直後と同様に結果とトレースを表示できます。