データベースの効率化
備忘録
データベース接続の記述を、普通に書くと、こんなこんじ。
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()メソッドの中は、何も書かない仕様です。
実際に、プリペアーステートメントの記述で、データベース参照プログラムを作成しました。
実態感は、なんら、ほぼ、変わりありませんが、もしこれが、おおきなデータベースだったら、大いに活用出来ますね。