InnoDB表(轉)

   InnoDB表與MyISAM表的最大不同,一是支持事務(TRANCSACTION),二是可以有條件的使用行鎖。

   InnoDB行鎖是通過給索引加鎖來實現的,也就是,只有通過索引條件檢索數據時,InnoDB才能使用行級鎖,否則使用表鎖。
   InnoDB有兩種模式的行鎖:
   1. 共享讀鎖(S鎖),獲得鎖的事務可以讀被加鎖的數據行,其他事務也可以讀這些數據行,但阻止其他事務獲得相同數據集的排他寫鎖
      select * from table_name where ... lock in share mode;

   2. 排他寫鎖(X鎖),獲得鎖的事務可以讀寫被加鎖的數據行,其他事務對這些數據行不可讀也不可寫,即阻止其他事務取得相同數據集的共享讀鎖和排他寫鎖
      select * from table_name where ... for update;
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章