17.10 - 要求処理 - Advanced SQL Engine - Teradata Database

Teradata Vantage™ - データベース入門

Product
Advanced SQL Engine
Teradata Database
Release Number
17.10
Published
2021年7月
Content Type
ユーザー ガイド
Publication ID
B035-1091-171K-JPN
Language
日本語
Last Update
2022-01-13

SQLは、Teradata Databaseへの要求に使用する言語です。つまり、SQLを使用してTeradata Databaseに問合わせを行ないます。

入力されたすべてのSQL要求は、次の手順でSQL構文解析プログラムにより処理されます。
  1. 構文解析プログラムは、要求キャッシュを参照し、要求が存在するかどうかを調べる。
    要求の有無 構文解析プログラムの処理
    存在する キャッシュ内で検出されたプラスチック ステップを再使用し、gncApplyに渡す。特権を確認した後、ステップ8に進みます(ステップ4)。

    プラスチック ステップは、データベース管理システムに送られる指示子であり、データ値は含んでいません。

    存在しない 構文解析ルーチンによる処理を開始する。
  2. 構文解析ルーチンは、入力された要求の構文を検査する。
    エラーの有無 構文解析ルーチンの処理
    エラーなし 要求を構文解析ツリーに変換し、意味解釈ルーチンに渡す。
    エラーあり エラー メッセージを要求側に返して停止する。
  3. 意味解析ルーチンが、データ ディクショナリ(またはキャッシュされた情報のコピー)から情報を追加して、データベース、表、ビュー、ストアド プロシージャ、マクロの名前を内部処理用の識別子に変換する。
  4. セキュリティ モジュールは、データ ディクショナリに登録されている権限を検査する。
    権限の状況 セキュリティ モジュールの処理
    有効 要求を、最適化ルーチンに渡す。
    無効 要求をアボートし、エラー メッセージを渡して停止する。
  5. 最適化ルーチンが、そのSQL要求を実装する最も効率的な方法を決定する。
  6. 最適化ルーチンは、要求を走査してロックの設定箇所を決定した後、最適化した構文解析ツリーを生成ルーチンに渡す。
  7. 生成ルーチンは、最適化された構文解析ツリーをプラスチック ステップに変形し、適切であればステップをキャッシュし、gncApplyに渡す。
  8. gncApplyは、生成ルーチンで生成されたプラスチック ステップを、パラメータ化されたデータがあればそのデータ内に結合し、コンクリート ステップに変換する。

    コンクリート ステップは、AMPに送られる指示子であり、ユーザーやセッションに固有の必要な値、および必要なデータ パーセルを含んでいます。

  9. gncApplyは、コンクリート ステップをディスパッチャに渡す。