Looker の Explore がデータベース クエリを実行すると、クエリは次の 3 つのフェーズで実行されます。
Explore クエリ トラッカーには、Explore クエリの進行状況が 3 つのフェーズで表示されます。
クエリの実行に時間がかかる場合は、クエリ トラッカーで、パフォーマンスの問題の原因となっているクエリのフェーズを特定できます。これは、パフォーマンスの問題が発生する可能性のある場所や、最適化の取り組みが最も効果的である場所を特定するのに役立ちます。
クエリ トラッカーを有効にするには、Looker 管理者が Explore Query Tracker Labs 機能を有効にする必要があります。有効にすると、[Explore] の [可視化] パネルまたは [データ] パネルが開いている限り、Explore の実行中にクエリ トラッカーが表示されます。
クエリの初期化フェーズ
クエリの初期化フェーズでは、クエリがデータベースに送信される前に必要なすべてのタスクを Looker が行います。クエリの初期化フェーズには次のタスクが含まれます。
- LookML モデルのコンパイル
- 永続的な派生テーブル(PDT)を作成する必要があるかどうかの確認
- クエリ SQL の生成
- データベース接続の取得
クエリの実行フェーズ
クエリの実行フェーズは、Looker がデータベースに接続してクエリを実行し、クエリの結果を返すフェーズです。このフェーズでパフォーマンスの問題が発生した場合は、外部データベースに問題がある可能性があります。たとえば、再ビルドに時間がかかり、最適化が必要な PDT や、最適化が必要な外部データベース テーブルなどです。[クエリの実行] フェーズには、次のタスクが含まれます。
- Explore クエリに必要な PDT をデータベースに構築する
- データベースでリクエストされたクエリを実行する
結果の処理フェーズ
結果の処理フェーズでは、Looker がクエリの結果を処理してレンダリングします。結果の処理フェーズには、次のタスクが含まれます。
- クエリ結果をキャッシュにストリーミングする
- 表計算を解決する
- Liquid テンプレート言語の結果をフォーマットする
- クエリを結合する
- 合計と小計の計算
クエリ トラッカーを使用したクエリのパフォーマンス問題のトラブルシューティング
パフォーマンスの問題が発生している可能性のあるクエリのフェーズを特定したら、次のリソースを使用して、クエリのパフォーマンスの傾向と異常をさらに特定できます。
ドキュメント ページ クエリのパフォーマンス指標を把握するでは、システム アクティビティのクエリ パフォーマンス指標 Explore を使用して、Looker インスタンスから実行された各クエリの詳細な内訳を確認する方法について説明しています。
クエリ トラッカーのクエリの初期化フェーズには、クエリ パフォーマンス指標 Explore の非同期ワーカー フェーズ、初期化フェーズ、接続処理フェーズで説明されているイベントが含まれます。
クエリ トラッカーのクエリの実行フェーズには、クエリ パフォーマンス指標 Explore のメインクエリのフェーズで説明されているイベントが含まれます。
クエリ トラッカーの結果の処理フェーズには、クエリ パフォーマンス指標 Explore のクエリ後のフェーズで説明されているイベントが含まれます。
クエリの実行フェーズの最適化の詳細については、Looker のパフォーマンスを最適化するドキュメント ページのクエリのパフォーマンスの最適化セクションをご覧ください。
また、システム アクティビティ ダッシュボードのリストから、パフォーマンスに関する推奨事項ダッシュボードを使用して、Looker インスタンスのパフォーマンスを向上させる機会を表示することもできます。