[Seasar-user:5464] Re: [S2Dao]MySQLでクエリキャッシュがヒットしない

Yusuke Kawabata [E-MAIL ADDRESS DELETED]
2006年 12月 14日 (木) 12:43:51 JST


川畑です。

追記になりますが、S2Dao用のサンプルソースも試してみました
下記のソースを実行すると、キャッシュには一切ヒットしませんでした。
物理的なコネクションの取得と開放は2回
論理的なコネクションの取得と開放は103回ありました。

MySQLのリファレンスを読むと、クエリキャッシュが効く条件は
発行されるクエリが以前のクエリと同じバイト数の場合のみだそうです。
http://dev.mysql.com/doc/refman/4.1/ja/query-cache-how.html

----
public class PrefDAOTest {
private static final String PATH = "dicon/app.dicon";
  public static void main(String[] args) {
    S2Container container = S2ContainerFactory.create(PATH);
    container.init();
    try {
      PrefEnumDAO dao =
(PrefEnumDAO)container.getComponent(PrefEnumDAO.class);
      for(int i=0;i<100;i++){
     List prefList = dao.findAll();//select * from E_PREF limit 10
     PrefEnum e = (PrefEnum)prefList.get(0);//Pref Entity
       System.out.println(e.getId());
      }
    } finally {
     container.destroy();
    }
  }
}
----
Yusuke Kawabata <[E-MAIL ADDRESS DELETED]>




Seasar-user メーリングリストの案内