ビューに対するクエリの実行¶
ビューに対してクエリを実行するには、そのビューを開いて [Execution panel] () をクリックします。
デフォルトのクエリは SELECT * FROM viewname
です。
クエリに AND 条件を追加するには、[Conditions] の横にある をクリックします。条件ごとに以下の情報を指定する必要があります。
ビューの属性のいずれか 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] をチェックしていない場合、キャッシュに保存できる結果の最大数は [Limit displayed rows] の値に制限されます。
Wait for cache load: チェックしている場合、クエリの結果全体が Design Studio に返されてキャッシュデータベースに保存されるまで、クエリは完了しません。このチェックボックスをチェックしていない場合、クエリの結果全体が管理ツールに返されると、データ全体が正常にキャッシュされるまで待機することなくクエリは完了します。
結果をキャッシュする必要があるクエリが 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] である場合にのみ有効です。
Limit displayed rows: 先頭から指定した数の行までの結果のみが表示されます。
Retrieve all rows: チェックしている場合、[Limit displayed rows] を超える行は表示されず、ユーザーのブラウザーにも送信されませんが、結果セットの残りの行に対しての処理は継続します。
[Retrieve all rows] をクリアすると、Virtual DataPort では [Limit displayed rows] を処理した後、クエリを終了します。
注釈
なお、[Retrieve all rows] をチェックしていない場合、キャッシュモードを [Partial] に構成したビューを実行してもクエリがキャッシュされない点に注意が必要です。
Do not use swap: チェックしている場合、スワップが有効であっても、クエリを実行した中間結果はディスクにスワップされません。このビューが複数のビューの組み合わせであっても、それらの中間結果もディスクにスワップされません。
クエリを実行する前に [Query plan] をクリックすると、クエリの実行で Virtual DataPort によって使用される実行プランを事前に取得できます (「 ステートメントの実行トレース 」を参照)。
どのクエリの実行も、[Stop] () をクリックすることによっていつでもキャンセルできます。
図「 Executing the view incidents_sales 」に、 incidents_sales
ビューの実行結果を示します。
実行が完了した後、[Execution trace] (前述のダイアログで [Execute with TRACE] チェックボックスをチェックしている場合にのみ有効) をクリックすることによって実行トレースを表示できます (「 ステートメントの実行トレース 」を参照)。
クエリを実行して返された応答に複合フィールド (レジスターまたは配列) がある場合、そのフィールドをダブルクリックすると、そのサブコンポーネントに移動します。 以下の図 は、 average_revenue_array
基本ビュー (「 フラット化ビューの作成 」で作成したビュー) の実行結果を示しています。このビューにクエリを実行した結果にはタプルが 1 つのみ存在し、そこにはレジスターの配列型のフィールドが 1 つあります。各レジスターには、顧客の taxId
と平均月間売上高が保持されています。[Array] フィールドをダブルクリックするとその内容が表示され、[RESULT] をクリックすると前のレベルに戻ります。
クエリの結果を zip ファイルにエクスポートするには [Save] () をクリックします。以下の各オプションで、エクスポートする情報を選択できます。
Include trace: ステートメントから実行トレースが返される場合、その実行トレースがバイナリファイル形式とテキストファイル形式で zip ファイルに追加されます。
Include image: ステートメントから実行トレースが返される場合、その実行トレースが画像として zip ファイルに追加されます。
Include results: 結果を CSV ファイルで保存します。この CSV ファイルには、結果のすべての行ではなく、管理ツールに表示されている行のみが保存されます。たとえば、[Limit displayed rows] を 150 に設定している場合、クエリから 200 行の結果が返されても、保存されるのは 150 行のみです。
Trace Viewer ([Tools] メニュー > [Trace viewer]) を使用して、後でこのファイルを読み込むことができます。クエリを実行した直後と同様に結果とトレースを表示できます。