ほとんどのリレーショナルデータベースは、4つのステップでJDBC/SQLクエリを処理します。
「着信クエリを解析する」とはどういう意味ですか?また、「データ収集経路を計画/最適化する」とはどういう意味ですか?
Parsingは、SQLステートメントの処理の1つの段階です。 アプリケーションがSQLステートメントを発行すると、アプリケーションはDatabaseへの解析呼び出しを行います。解析呼び出し中に、データベース:
解析とは、入力された文字を調べ、キーワードや識別子の文字を調べ、コメントを無視し、引用符で囲まれた部分を文字列定数として配置し、全体の構造をすべての意味を持つ言語構文に一致させることによって、コマンドまたはステートメントとして認識します。
計画/最適化とは、通常実行時間に関して、(考えられるすべての方法の中で)結果を決定するための最良の方法を見つけることを意味します。また、必要なロックの数を最小限に抑えることもできます。クエリの一部を無視できるかもしれません(where ... and 1 == 1
)またはテーブルにアクセスする必要はまったくありません。
1)構文解析:SQL文法規則などに従ってクエリを構文解析し、クエリを基本部分形式に「トークン化」しようとします。
2)計画/最適化:その段階で、SQLエンジンはクエリを実行するための最良の方法を評価しようとします。既存のインデックス、クラスター、テーブルの関係を利用しようとします。全表スキャンを回避する方法を見つけ、データの繰り返し読み取りを回避することにより、キャッシュを効果的に利用します。