MySQL不建議用UUID做innodb主鍵的幾條原因

chenfeng發表於2018-06-29
1).UUID雖然能夠保證ID的唯一性,但是無法滿足業務系統需要的很多其他特性,例如:時間粗略有序性、可反解和可製造性;
2).UUID產生時使用完全的時間資料,效能比較差;
3).UUID比較長,會佔用空間大,間接導致資料庫效能下降;
4).UUID並不具有有序性,會導致B+樹索引在寫的時候有過多的隨機寫操作(連續的ID會產生部分順序寫);
5).在寫的時候不能產生有序的append操作,而需要進行insert操作,將讀取整個B+樹節點到記憶體,在插入這條記錄後會將整個節點寫回磁碟,這種操作在記錄佔用空間比較大的情況下,效能會明顯下降。
6).UUID目前不是順序增長,做為主鍵寫入導致,隨機IO嚴重。

來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/15498/viewspace-2157024/,如需轉載,請註明出處,否則將追究法律責任。

相關文章