只读操作要不要加事务的思考

关于读数据时是否需要加锁,相信很多用过Hiberate的人一直都有这样的争论,那么到底是应该加还是不应该加呢?
还是让我们了解一下加事务后数据会有什么样的变化吧?
数据库通常分为两种锁:读锁和写锁。
事务对数据加读锁后,这块数据只能被读不能被修改;且该数据只能被其他事务加读锁,不能加写锁
事务对数据加写锁后,能够对数据读写。但其他事务既不能读也不能写。

现在我们来看一下,在只读操作中加与不加事务的区别:
加事务:数据加读锁,并发事务不能修改加锁数据,保证不会脏读。就是说任何其他事务只能读不能写
不加事务:没有任何锁,任何事务都可对其修改,可能会脏读。
所以只读操作加与不加事务,要视情形而定。
关键数据 实时数据像读银行帐户的余额等最好加上事务
一般的操作,比如像读论坛帖子就没有必要了

你可能感兴趣的:(事务)