《MYSQL教程Mysql 主鍵自增長auto_increment問題分析》要點:
本文介紹了MYSQL教程Mysql 主鍵自增長auto_increment問題分析,希望對您有用。如果有疑問,可以聯系我們。
本節內容:
Mysql 主鍵自增長MYSQL教程
在mysql數據庫中,主鍵由auto_increment實現自增長,若自定義函數來表示auto_increment的話可以如下:
?MYSQL教程
但是,此辦法會有并發方面的問題,如兩個事務中就可能獲取到同一個id而其中一個失敗,所以需要鎖表:
?MYSQL教程
以上辦法,可以實現一些復雜的自增長邏輯要求,比如在一個復合主鍵中,要求以其中一個主鍵為參照物,另一個主鍵重新從1開始自增長,但缺點是需要鎖表,在大并發環境中會影響一定的效率,在mysql 5.1.22版本之前,均是需要鎖表的,但在5.1.22版本之后,引入了一種新的辦法來解決自增長的效率問題:
?MYSQL教程
說明:
在級別1中,引入了一個輕量級的互斥量,在不同的事務中auto_increment總是可以獲取到最新的自增長主鍵值而不需要鎖表.
但對于無法提前獲知插入行數的sql依然需要鎖表,如insert...select... replace...select... load data 還是使用表鎖.MYSQL教程
有關Mysql 主鍵自增長的問題,就介紹這些了,希望對大家有所贊助.MYSQL教程
歡迎參與《MYSQL教程Mysql 主鍵自增長auto_increment問題分析》討論,分享您的想法,維易PHP學院為您提供專業教程。