自增主键与UUID的优缺点
?
https://blog.csdn.net/rocling/article/details/83116950
?
?
自增主鍵與UUID的優缺點
rocling?2018-10-17 20:15:02??8062??收藏?8
分類專欄:?sql?java?文章標簽:?sql
版權
自增主鍵
自增ID是在設計表時將id字段的值設置為自增的形式,這樣當插入一行數據時無需指定id會自動根據前一字段的ID值+1進行填充。在MySQL數據庫中,可通過sql語句AUTO_INCREMENT來對特定的字段啟用自增賦值 使用自增ID作為主鍵,能夠保證字段的原子性.
優點
數據庫自動編號,速度快,而且是增量增長,按順序存放,對于檢索非常有利;
數字型,占用空間小,易排序,在程序中傳遞也方便;
如果通過非系統增加記錄時,可以不用指定該字段,不用擔心主鍵重復問題。
缺點
因為自動增長,在手動要插入指定ID的記錄時會顯得麻煩,尤其是當系統與其它系統集成時,需要數據導入時,很難保證原系統的ID不發生主鍵沖突(前提是老系統也是數字型的)。特別是在新系統上線時,新舊系統并行存在,并且是異庫異構的數據庫的情況下,需要雙向同步時,自增主鍵將是你的噩夢;
在系統集成或割接時,如果新舊系統主鍵不同是數字型就會導致修改主鍵數據類型,這也會導致其它有外鍵關聯的表的修改,后果同樣很嚴重;
若系統也是數字型的,在導入時,為了區分新老數據,可能想在老數據主鍵前統一加一個字符標識(例如“o”,old)來表示這是老數據,那么自動增長的數字型又面臨一個挑戰。
?
UUID
UUID含義是通用唯一識別碼 (Universally Unique Identifier),指在一臺機器上生成的數字,它保證對在同一時空中的所有機器都是唯一的。通常平臺會提供生成的API。換句話說能夠在一定的范圍內保證主鍵id的唯一性。
優點
出現數據拆分、合并存儲的時候,能達到全局的唯一性
缺點
影響插入速度, 并且造成硬盤使用率低
uuid之間比較大小相對數字慢不少, 影響查詢速度。
uuid占空間大, 如果你建的索引越多, 影響越嚴重
?
?
?
?
- 點贊2
- 評論1
- 收藏8
- 手機看
- 打賞
- 關注
華為機考題庫(全)
12-22
包括招聘的機考題,及面試過程中會問到的數據結構的相關內容,排序算法全部包括并且有改進算法,一點點改進可以讓你表現的與眾不同,如果好的話給點評價吧親
自增還是UUID?MYSQL數據庫主鍵的類型選擇
weixin_43101678的博客
?1萬+
自增還是UUID?這個問題看似簡單,但是能誘發很多思考,也涉及到了很多細節。網上的確有很多有關這方面的資料,但是比較亂,今天我結合這些資料和自己的心得,單獨對這個話題寫一篇博客出來,希望對大家有所幫助哈。 先說下uuid和 auto_increment(數據庫自增主鍵)的優缺點吧,因為是個人理解,如有錯誤懇請指出: auto_incremen的優點: 字段長度較uuid小很多,可以是big...
-
JoieLu:對于拆分 我用EXCEL合并130萬條數據 然后主鍵就用EXCEL自動生成,所以在數據量大的情況下還是推薦自增ID,加快效率,哪怕0.1秒13天前回復
?
?
?
?
?
?
?
?
?
總結
以上是生活随笔為你收集整理的自增主键与UUID的优缺点的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 德力西开关怎么样(德力西开关质量是几线档
- 下一篇: [译] RESTful API 设计最佳