0
点赞
收藏
分享

微信扫一扫

OceanBase中的隔离级别和锁机制


悲观锁


 晓楚  23:32:10
ob有地方用到乐观锁机制吗
ob的隔离级是read committed?


xi  23:33:58
我不知道什么地方用了,实现事务用的是悲观锁。 
可以实现read commited,也可以是repeatable read,缺省是read commited  



Repeatable Read

晓楚  23:37:47


repeatable read现在实现上是以什么为代价


xi  23:38:29


在读一行的时候要加上写锁。 


晓楚  23:39:14


现在默认不加吗?


ps,郁白说现在ob锁一行的代价跟锁多行一样,怎么理解?


xi  23:45:06


read commited现在读的时候不加锁。 



悲观锁代价

晓楚  23:39:14



ps,郁白说现在ob锁一行的代价跟锁多行一样,怎么理解?


xi  23:46:46
不知道他是什么意思,锁本身没有什么开销,但是会阻塞别的事物。 


晓楚  23:47:38
锁为啥没开销
是因为不管锁不锁,反正数据结构都在那里吗
xi  23:50:10
内存就是八个字节,操作如果没有冲突就是一个或两个原子操作,比读一行或写一行的其他操作比起来不算什么,不过这也没测过,纯猜测。 

幻读

晓楚  23:51:26


幻读我们ob不处理吧?是不是至少用悲观范围锁才能避免


xi  23:52:26


不处理幻读,很可能一年内都不会去管幻读的问题。 


要避免幻读,是需要用范围锁。 



脏读

晓楚  23:54:52


在repeatable read级别下不会有脏读,但read committed下脏读还是可能的,right?


对于脏读,ob是什么态度?



xi  23:57:35
read commited级别也不允许脏读,脏读是读到没提交的数据,允许脏读其实没有什么实际用途。 
ob不可能读到未提交的数据。 
晓楚  23:59:09
嗯,你说得对。我理解错了。 


举报

相关推荐

0 条评论