插入锁
1.search <= insert_rec, 定位到該記錄rec
2.查看rec->next_record 是否有鎖
3.判斷是否有UK健,有UK的話,
????? if(rec-->next==insert_rec) ? ? //不會報唯一性錯誤,因為事務沒提交,可以回滾
???????????? wait:?? 對 rec-->next 加 s lock???? 判斷唯一性,實現唯一約束 ? ?,大多數情況加S_LOCK而不加 X_LOCK, ?[沒有插入記錄] ? ? 此時無 ?[對 ?rec->record 插入意向鎖等待]
????? else
???????????? next? 4步
4.無鎖,則插入
5.有鎖則等待? [ next_key _lock|cap] ? 些時有 [對 ?rec->record?插入意向鎖等待]
?
?
?
?
對事務已經插入記錄加 X-LOCK
?
總結
- 上一篇: AngularJS开发人员最常犯的10个
- 下一篇: JavaScript事件使用指南