実際には、PrepareStatement が Statement よりも高いパフォーマンスを発揮する方法を理解していません。
2 に答える
3
オラクルのドキュメントから:
PreparedStatement オブジェクトの主な特徴は、Statement オブジェクトとは異なり、作成時に SQL ステートメントが与えられることです。これの利点は、ほとんどの場合、この SQL ステートメントがすぐに DBMS に送信され、そこでコンパイルされることです。その結果、PreparedStatement オブジェクトには、SQL ステートメントだけでなく、プリコンパイルされた SQL ステートメントも含まれます。つまり、PreparedStatement が実行されると、DBMS は PreparedStatement SQL ステートメントを最初にコンパイルしなくても実行できます。
しかし、プリペアド ステートメントを使用する最大の理由は、入力をサニタイズして文字列としてフォーマットする必要がないことです。すべてのプリペアド ステートメント API が安全かつ効率的な方法でそれを行います。
于 2013-04-02T06:54:06.653 に答える
1
ステートメントは、使用するたびにコンパイルされます。PreparedStatement は事前にコンパイルされているため、後続のリクエストでのコンパイルにかかる時間を節約できます。その理由はただ一つ。
その他の違いについては、ドキュメントを確認してください。
于 2013-04-02T06:53:55.043 に答える