スピードや効率に関係しているので、準備されたステートメントを理解できません。プリペアドステートメントはデータベースサーバー上でコンパイルされ、何度も使用できることを読みました。
しかし、私がWebページを持っているとしましょう。1つのクエリを実行します。次の人がページを表示します。同じクエリで、そのユーザーのパラメータが異なります。
Webページへの2回目のヒットで、プリペアドステートメントはdbmsを調べて、その特定のクエリがデータベースサーバーにすでに存在するかどうかを確認していますか?ステートメントがコンパイルされ、「何度も」実行できると言うことの意味がわかりません。ページを実行するたびに準備しませんか?
また、これはSQLインジェクションに関するものではありません。これは、コンパイルに関連しているので、私が理解している部分の1つです。
ありがとう。
編集:検索しましたが、答えが見つかりません。私はこの質問に導かれるだけです。
編集:以下のコメントに基づいて、私のシナリオを考えると、効率のメリットはわかりません。セキュリティはい。コンパイルされたもの全体。いいえ。効率の問題を解決する例として挙げることができるシナリオはありますか?