mysql id 自增實現


1、在mysql中建表        

                                 

 

 2、使用:

  >insert into 表名 values(id,'www',66);

連續運行5次后結果:

                                                                                                

 

 

============================================================================================

id自增優缺點:

優點:

  1. 數據庫自動編號,速度快,而且是增量增長,按順序存放,對於檢索非常有利;
  2. 數字型,占用空間小,易排序,在程序中傳遞也方便;
  3. 如果通過非系統增加記錄時,可以不用指定該字段,不用擔心主鍵重復問題

缺點:

  1. 因為自動增長,在手動要插入指定ID的記錄時會顯得麻煩,尤其是當系統與其它系統集成時,需要數據導入時,很難保證原系統的ID不發生主鍵沖突。特別是在新系統上線時,新舊系統並行存在,並且是異庫異構的數據庫的情況下,需要雙向同步時,自增主鍵將是你的噩夢
  2. 在系統集成或割接時,如果新舊系統主鍵不同是數字型就會導致修改主鍵數據類型,這也會導致其它有外鍵關聯的表的修改,后果同樣很嚴重;
  3. 若系統也是數字型的,在導入時,為了區分新老數據,可能想在老數據主鍵前統一加一個字符標識(例如“o”,old)來表示這是老數據,那么自動增長的數字型又面臨一個挑戰。

 

UUID:含義是通用唯一識別碼,指在一台機器上生成的數字,它保證對在同一時空中的所有機器都是唯一的。通常平台會提供生成的API。換句話說能夠在一定的范圍內保證主鍵id的唯一性。

優點:

  出現數據拆分、合並存儲的時候,能達到全局的唯一性

缺點:

  1. 影響插入速度, 並且造成硬盤使用率低
  2. uuid之間比較大小相對數字慢不少, 影響查詢速度。
  3. uuid占空間大, 如果你建的索引越多, 影響越嚴重

 

 

參考:

https://www.jianshu.com/p/f5d87ceac754


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM