InnoDB行鎖是通過給索引上的索引項加鎖來實現的,這一點MySQL與Oracle不同,后者是通過在數據塊中對相應數據行加鎖來實現的。
nnoDB這種行鎖實現特點意味着:只有通過索引條件檢索數據,InnoDB才使用行級鎖,否則,InnoDB將使用表鎖!
在實際應用中,要特別注意InnoDB行鎖的這一特性,不然的話,可能導致大量的鎖沖突,從而影響並發性能。
行級鎖都是基於索引的,如果一條SQL語句用不到索引是不會使用行級鎖的,會使用表級鎖。行級鎖的缺點是:由於需要請求大量的鎖資源,所以速度慢,內存消耗大。
mysql雙主鍵時,索引是什么?mysql聯合主鍵時,索引是什么?兩個問題是一樣的。
聯合主鍵時,第一個主鍵,為表的索引,第二個主鍵不作為索引,如果要頻繁查詢,需要另外建立索引。(參考:https://blog.csdn.net/shang1989/article/details/86070468)
