[Seasar-user:5459] Re: [S2Dao]MySQLでクエリキャッシュがヒットしない
Yusuke Kawabata
[E-MAIL ADDRESS DELETED]
2006年 12月 14日 (木) 12:12:28 JST
川畑です。
> S2Daoとしては特別な処理を行っていません。
> 素のJDBCでクエリキャッシュを利用できるか、ご確認いただけます
> か? (そのコードを頂けるとありがたいです)
下記サンプルコードで接続、クエリ発行、切断を繰り返し
クエリキャッシュにヒットしていることを確認いたしました。
> また、クエリキャッシュはどの単位で効くものなのでしょうか?
データベース単位(キャッシュ自体はmysqld全体で共有)に効きます。
結果セットの大きさも考えたのですが、実際に発行しているクエリでは
S2PagerのLimitOffsetラッパーを使用しているので10件以下になり、
キャッシュ可能な最大値を超えていることもないようです。
--ここから---
package com.housedo.model.dao.test;
import java.sql.*;
public class PrefTest {
public static void main(String[] args) {
try{
Class.forName("com.mysql.jdbc.Driver").newInstance();
for(int i=0;i<100;i++){
Connection con = DriverManager.getConnection(
"jdbc:mysql://localhost/test", "root", "pass");
Statement stmt = con.createStatement();
ResultSet rs = stmt.executeQuery("SELECT * from E_PREF LIMIT 1");
while (rs.next()) {
System.out.println(rs.getString("PREF_ID"));
}
rs.close();
stmt.close();
con.close();
}
} catch (SQLException e1) {
//略
} catch (Exception e2) {
//略
}
}
}
--ここまで--
----
Yusuke Kawabata <[E-MAIL ADDRESS DELETED]>
Seasar-user メーリングリストの案内