データベースの効率化

備忘録

データベース接続の記述を、普通に書くと、こんなこんじ。


Connection con = DriverManager.getConnection(url,id,passwd);
Statement stmt = con.createStatement();
PesultSet rs = stmt.exequteQuery(sql);

データベースの効率化をはかる為の記述。


Connection con = DriverManager.getConnection(url,id,passwd);
PreparedStatement stmt = con.prepareStatement(SQL);
PesultSet rs = stmt.exequteQuery();

何が違うかと言うと、ステートメントが、プリペアーステートメントになっている。
プリペアーステートメントとは、すでにコンパイル済みのステートメントを使うということ。
通常のステートメントだと、使う回数分、コンパイルを通って使われるので、手間が掛かります。
それにたいして、プリペアーステートメントは、一度コンパイルしたら、使う数回分コンパイルせずに、中でグルグルまわってくれるので、早く実行出来ます。

ちなみに、prepareStatement()メソッドの中に、SQL文を入れます。
executeQuery()メソッドの中は、何も書かない仕様です。

実際に、プリペアーステートメントの記述で、データベース参照プログラムを作成しました。
実態感は、なんら、ほぼ、変わりありませんが、もしこれが、おおきなデータベースだったら、大いに活用出来ますね。