自增主鍵
自增ID是在設計表時將id字段的值設置為自增的形式,這樣當插入一行數據時無需指定id會自動根據前一字段的ID值+1進行填充。在MySQL數據庫中,可通過sql語句AUTO_INCREMENT來對特定的字段啟用自增賦值 使用自增ID作為主鍵,能夠保證字段的原子性.
優(yōu)點
數據庫自動編號,速度快,而且是增量增長,按順序存放,對于檢索非常有利;
數字型,占用空間小,易排序,在程序中傳遞也方便;
如果通過非系統(tǒng)增加記錄時,可以不用指定該字段,不用擔心主鍵重復問題。
缺點
因為自動增長,在手動要插入指定ID的記錄時會顯得麻煩,尤其是當系統(tǒng)與其它系統(tǒng)集成時,需要數據導入時,很難保證原系統(tǒng)的ID不發(fā)生主鍵沖突(前提是老系統(tǒng)也是數字型的)。特別是在新系統(tǒng)上線時,新舊系統(tǒng)并行存在,并且是異庫異構的數據庫的情況下,需要雙向同步時,自增主鍵將是你的噩夢;
在系統(tǒng)集成或割接時,如果新舊系統(tǒng)主鍵不同是數字型就會導致修改主鍵數據類型,這也會導致其它有外鍵關聯(lián)的表的修改,后果同樣很嚴重;
若系統(tǒng)也是數字型的,在導入時,為了區(qū)分新老數據,可能想在老數據主鍵前統(tǒng)一加一個字符標識(例如“o”,old)來表示這是老數據,那么自動增長的數字型又面臨一個挑戰(zhàn)。
UUID
UUID含義是通用唯一識別碼 (Universally Unique Identifier)uuid 項目應用 www.1b23.com,指在一臺機器上生成的數字,它保證對在同一時空中的所有機器都是唯一的。通常平臺會提供生成的API。換句話說能夠在一定的范圍內保證主鍵id的唯一性。
優(yōu)點
出現(xiàn)數據拆分、合并存儲的時候,能達到全局的唯一性
缺點
影響插入速度, 并且造成硬盤使用率低
uuid之間比較大小相對數字慢不少, 影響查詢速度。
uuid占空間大, 如果你建的索引越多, 影響越嚴重
另外有需要云服務器可以了解下創(chuàng)新互聯(lián)scvps.cn,海內外云服務器15元起步,三天無理由+7*72小時售后在線,公司持有idc許可證,提供“云服務器、裸金屬服務器、高防服務器、香港服務器、美國服務器、虛擬主機、免備案服務器”等云主機租用服務以及企業(yè)上云的綜合解決方案,具有“安全穩(wěn)定、簡單易用、服務可用性高、性價比高”等特點與優(yōu)勢,專為企業(yè)上云打造定制,能夠滿足用戶豐富、多元化的應用場景需求。