1.根据业务,把可以延时加载的对象设置延时加载。
2.hibernate默认会把对象都放入一级缓存中,也就是内存中,但毕竟内存放数据有限,可以配置二级缓存,配置内存中放多少个对象后,放入文件中。
3.使用数据库连接池
4.优化自己的SQL语句,程序的效率往往取决于访问数据库的次数。
这个准定是用hql直接查询总数的sql语句快,这个很简单就能测试。
用pl/sql去查询oracle数据库中的数据,数据有15368个。
执行select * from table t 的时候需要 6.396s,
而如果执行select count(*) from table t 的时候只需要0.156s。
当然这里包括有pl/sql显示的延时时间,但是差不了太多,可以很清楚看出来这两个耗时差距
你全查出来放到内存中显然耗时比直接在pl/sql中更多。如果数据量到几百万,这种想法就更不可取了
用户登录
还没有账号?立即注册
用户注册
投稿取消
文章分类: |
|
还能输入300字
上传中....