mysql建表必须使用主键吗
生活随笔
收集整理的這篇文章主要介紹了
mysql建表必须使用主键吗
小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.
mysql從5.5版本開始默認使用innodb引擎,innodb表是聚簇索引表,也就是說數(shù)據(jù)通過主鍵聚集(?主鍵下存儲該行的數(shù)據(jù),索引指向主鍵值)
正是由于這種解構(gòu),如果后續(xù)對主鍵對應的值進行修改,就會導致索引節(jié)點的頻繁分裂,性能會下降非常厲害。因此推薦開發(fā)的同事們使用和業(yè)務沒有任何關(guān)聯(lián)的自增id來做主鍵(切記不要使用uuid來做主鍵),此外也可以考慮使用其他的方式來生產(chǎn)自增的ID,比如使用Twitter的snowflake算法或者zk的DistributedAtomicLong來間接實現(xiàn)。使用自增主鍵而不是uuid做主鍵的優(yōu)點主要有如下幾點:
a、占用的數(shù)據(jù)量更小
b、數(shù)據(jù)順序遞增,不會導致索引節(jié)點的頻繁分裂
c、數(shù)字類型比字符類型效率更高
正確招式:使用自增id作為主鍵
總結(jié)
以上是生活随笔為你收集整理的mysql建表必须使用主键吗的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 算法:搜索二维矩阵
- 下一篇: mysql创建表选择字段的时候下尽量小