innodb_autoinc_lock_mode

lff1530983327發表於2016-09-26
innodb_autoinc_lock_mode 有三種值0 1 2 一般預設的為1
innodb_autoinc_lock_mode=0
這種為傳統模式,所有的insert-like語句都會持有 table-level AUTO-INC lock也就是加鎖,一直到語句執行完成,分配的自增列值也是連續的,可預知的。同時, 在statement-based的複製模式下,可以保證主從自增列一致。
innodb_autoinc_lock_mode=1
連續模式,這種模式下 簡單插入是不會使用 table-level AUTO-INC lock,要插入的行數會提前知道。但是mixed-mode inserts”這種插入下就和traditional方式有區別了,這種模式下可能使用者會精確提供部分自增列的行數,但是不是所有的都會明確知道,這個時候,innodb會分配比已知要插入的行數更大的自增值給後面的insert,這樣分配的值也是連續的,但是可能就和前面的自增值有gap了,這個時候gap value會lost。
innodb_autoinc_lock_mode = 2
互動模式,這種模式下,所有的insert-like語句都不會持有table-level AUTO-INC lock,但是statement-based的複製模式下,不是很安全。
具體的驗證後期補上!

來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/30018455/viewspace-2125611/,如需轉載,請註明出處,否則將追究法律責任。