MySQL不建議用UUID做innodb主鍵的幾條原因
1).UUID雖然能夠保證ID的唯一性,但是無法滿足業務系統需要的很多其他特性,例如:時間粗略有序性、可反解和可製造性;
2).UUID產生時使用完全的時間資料,效能比較差;
3).UUID比較長,會佔用空間大,間接導致資料庫效能下降;
4).UUID並不具有有序性,會導致B+樹索引在寫的時候有過多的隨機寫操作(連續的ID會產生部分順序寫);
5).在寫的時候不能產生有序的append操作,而需要進行insert操作,將讀取整個B+樹節點到記憶體,在插入這條記錄後會將整個節點寫回磁碟,這種操作在記錄佔用空間比較大的情況下,效能會明顯下降。
6).UUID目前不是順序增長,做為主鍵寫入導致,隨機IO嚴重。
2).UUID產生時使用完全的時間資料,效能比較差;
3).UUID比較長,會佔用空間大,間接導致資料庫效能下降;
4).UUID並不具有有序性,會導致B+樹索引在寫的時候有過多的隨機寫操作(連續的ID會產生部分順序寫);
5).在寫的時候不能產生有序的append操作,而需要進行insert操作,將讀取整個B+樹節點到記憶體,在插入這條記錄後會將整個節點寫回磁碟,這種操作在記錄佔用空間比較大的情況下,效能會明顯下降。
6).UUID目前不是順序增長,做為主鍵寫入導致,隨機IO嚴重。
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/15498/viewspace-2157024/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- MySQL的InnoDB引擎強烈建議使用自增主鍵的原因MySql
- MySql資料庫最佳化的幾條核心建議MySql資料庫
- MySQL InnoDB行鎖優化建議MySql優化
- MYSQL INNODB主鍵使用varchar和int的區別MySql
- MySQL 缺少主鍵的表的效能下降的原因MySql
- 不建議使用免費代理的主要原因
- 不當工作狂的11條建議
- 快速學習新技術的幾條建議
- Pinterest:九條實用的旅行建議REST
- 使用Backbone構建精美應用的7條建議
- PostgreSQL中如何高效使用UUID主鍵?SQLUI
- 關於加強MYSQL安全的幾點建議MySql
- 給計算機專業學生的幾條建議計算機
- mysql建表必須使用主鍵嗎MySql
- 不建議企業自行開發CRM的幾個理由
- mysql innodb 主鍵INT、BIGINT、VARCHAR併發插入效能對比MySql
- MySQL亂碼的幾種原因MySql
- 不建議開發來做資料庫選型資料庫
- MySQL主鍵的理解MySql
- [精]mysql聯合主鍵應用MySql
- 24條 Docker 建議Docker
- MySQL的UUIDMySqlUI
- 構建高效能 ASP.NET 應用的幾點建議ASP.NET
- 構建高效能ASP.NET應用的幾點建議ASP.NET
- 自學 JAVA 的幾點建議Java
- mysql忽略主鍵衝突、避免重複插入的幾種方式MySql
- mysql 忽略主鍵衝突、避免重複插入的幾種方式MySql
- 如何提升你的能力?給年輕程式設計師的幾條建議程式設計師
- 避開NullPointerException的10條建議NullException
- 控制IT預算的5條建議
- 資料表設計之主鍵自增、UUID或聯合主鍵UI
- 用 Docker 構建 MySQL 主從環境DockerMySql
- XtraBackup不停機不鎖表做MySQL主從複製的試驗MySql
- MySQL異常恢復之無主鍵情況下innodb資料恢復的方法MySql資料恢復
- 優化 Webpack 構建效能的幾點建議優化Web
- 優化Webpack構建效能的幾點建議優化Web
- 將 Web 應用效能提高十倍的10條建議Web
- Kris Graft:分享製作道德遊戲的7條實用建議Raft遊戲