天天看點

MySQL Auto_Increment屬性

   在遊戲行業中,經常會遇到删除“死号”的需求;我們的使用者id是自增生成的,在删号程式中,會遇到與資料庫斷開連接配接,但還在運作的SQL語句;

   對于自增的字段進行行記錄的删除,會出現“斷裂帶”的情況,對于這種無法避免的情況,個人建議在資料維護過程中,analyze table 防止有過多資料存儲的碎片;

   對于新的自增id,不會複用老的id;下面列出不同存儲引擎對auto_increment的支援:

   對于 innodb,myisam,memory 存儲引擎;

   共同點:

   1、序列都是單調遞增;

   2、編号依次遞增,不會複用曾經删除的id

   3、都可以設定自增ID的初始值;

   4、truncate table之後 計數值從1開始;

   5、表中均隻能有一個字段是自增字段;

   不同點:

   MYISAM支援 複合索引裡含有自增序列;innodb與memory都不支援;

   對于自增的兩個參數(對于多master情況,應多注意這兩個參數):

繼續閱讀