Hibernate优化

来源:互联网 发布:淘宝助理怎么拆分订单 编辑:程序博客网 时间:2024/06/15 21:20


 

缓存就是数据库数据在内存中的临时容器,位于数据库与数据库访问层中间。相对内存操作而言,数据库调用是一个代价高昂的过程。

 

数据库隔离级别

Read UnCommited没有提交,就能读到。比如发出insert,在没有提交时就能更新数据库。存在脏读就是指当一个事务正在访问数据,并且对数据进行了修改,而这种修改还没有提交到数据库中,这时,另外一个事务也访问这个数据,然后使用了这个数据

 

Read Commited提交读,提交之后,才能更新数据库。不存在脏读,存在不可重复读

是指在一个事务内,多次读同一数据,中间被另个写事务修改,所以两次读到的数据是不一样的。存在虚读,新增或者删除同样的条件,两次查询的内容不一致未提交的写事务将会禁止其它事务访问该行。并发性能高。

RepeatableRead可重复读

读取的事务禁止写事务,写事务则禁止任何其它事务不存在不可重复读,但不能避免虚读。

Serializable可序列化读

事务只能一个接一个执行,不能并发执行


hibernate常见的优化策略

1、用高版本的hibernate

2、制定合理的缓存策略

3、采用合理的session管理机制

4、尽量使用延迟加载

5、如有可能,采用uuid做为主键生成策略

6、如有可能,选用乐观锁代替悲观锁

7、在开发中显示hibernate执行的sql语句,从而指定更好的实现策略

8、复杂查询和统计查询可以使用sql语句完成,甚至可以考虑使用过存储过程完成


0 0
原创粉丝点击