OceanBase鎖定粒度爲行鎖,默認狀況下的隔離級別爲讀取已提交(read committed)。另外,讀操做老是讀取某個版本的快照數據,不須要加鎖。併發
爲了保證系統併發性能,OceanBase暫時不支持更高的隔離級別。另外,爲了支持對一致性要求很高的業務,OceanBase容許用戶顯式鎖住某個數據行。例如,有一張帳務表account(account_id,balance),其中account_id爲主鍵。假設須要從A帳戶
(account_id=1)向B帳戶(account_id=2)轉帳100元,那麼,A帳戶須要減小100元,B帳戶須要增長100元,整個轉帳操做是一個事務,執行過程當中須要防止A帳戶和B帳戶被其餘事務併發修改。性能
如如下代碼所示,OceanBase提供了」select...for update」語句用於顯示鎖住A帳戶或者B帳戶,防止轉帳過程當中被其餘事務併發修改。事務