目錄
一場面試引發的血案。。。
面試官:"用過mysql吧,你們是用自增主鍵還是UUID?"
你:"用的是自增主鍵"
面試官:"爲什麼是自增主鍵?"
你:"因爲採用自增主鍵,數據在物理結構上是順序存儲,性能最好,blabla…"
面試官:"那自增主鍵達到最大值了,用完了怎麼辦?"
你:"what,沒複習啊!!" (然後,你就可以回去等通知了!)
引發的問題
一旦自增id達到最大值,此時數據繼續插入是會報一個主鍵衝突異常如下所示
//Duplicate entry '4294967295' for key 'PRIMARY'
解決方案
那解決方法也是很簡單的,將Int類型改爲BigInt類型
擴展
目前業內在線修改表結構的方案
使用mysql5.6+提供的在線修改功能
藉助第三方工具
改從庫表結構,然後主從切換
專業版回答
面試官:"那自增主鍵達到最大值了,用完了怎麼辦?"
你:"這問題沒遇到過,因爲自增主鍵我們用int類型,一般達不到最大值,我們就分庫分表了,所以不曾遇見過!