[破解]为什么hibernate插入快,查询慢

09-06-05 yellowcat
直接用createQuery().list(),那是最不优化的一种查询方式

因为hibernate其实在背后做了很多手脚

1.查询之前会flush(),脏检查!!需要时间

2.如果启动二级缓存,会先在二级缓存找!!需要时间

3.返回的持久化对象会在一级缓存建立脏检查机制!!需要空间和很多时间

4.如果很很多行记录的话,没有启用批量查询

5.如果启动二级缓存,将得到的持久化对象在二级缓存建立一个副本!!需要很多时间和空间

哈哈,:),不慢才怪

用hibernate的性能:插入很快,可查询为什么非常慢?????

猜你喜欢