文章詳情頁(yè)
數(shù)據(jù)庫(kù)設(shè)計(jì) - MySQL數(shù)據(jù)庫(kù)主鍵問(wèn)題
瀏覽:194日期:2022-06-15 15:33:26
問(wèn)題描述
前幾天在項(xiàng)目組里,總監(jiān)建議把所有數(shù)據(jù)表的主鍵設(shè)為字符串類型(UUID),由應(yīng)用程序維護(hù)數(shù)據(jù)表的主鍵,問(wèn)下這個(gè)主要是出于什么方面的考慮呢???P.S. 我們用的MySQL數(shù)據(jù)庫(kù),存儲(chǔ)引擎用的InnoDB,看了很多DBA的文章建議是說(shuō)InnoDB類型的表最好是使用自增主鍵...
問(wèn)題解答
回答1:UUID生成主鍵避免了主鍵重復(fù),程序易維護(hù),@wangcw解釋的蠻好,至于劣勢(shì),經(jīng)驗(yàn)所限,暫且沒(méi)遇上
回答2:就我理解,使用UUID優(yōu)勢(shì),重復(fù)性低,方便自動(dòng)生成,不用考慮主鍵重復(fù)插入失敗問(wèn)題;不建議使用UUID原因:數(shù)據(jù)量達(dá)到一定值后索引維護(hù)很不方便,數(shù)據(jù)庫(kù)性能大打折扣,對(duì)分片條理性也有一定影響。
回答3:使用UUID的話,得通過(guò)應(yīng)用去維護(hù)主鍵,這樣的話不是很繁瑣么...
相關(guān)文章:
1. mac里的docker如何命令行開(kāi)啟呢?2. 關(guān)docker hub上有些鏡像的tag被標(biāo)記““This image has vulnerabilities””3. nignx - docker內(nèi)nginx 80端口被占用4. docker容器呢SSH為什么連不通呢?5. 為什么我ping不通我的docker容器呢???6. Docker for Mac 創(chuàng)建的dnsmasq容器連不上/不工作的問(wèn)題7. angular.js使用$resource服務(wù)把數(shù)據(jù)存入mongodb的問(wèn)題。8. docker-compose 為何找不到配置文件?9. javascript - 最近用echarts做統(tǒng)計(jì)圖時(shí)遇到兩個(gè)問(wèn)題!!10. docker gitlab 如何git clone?
排行榜

熱門標(biāo)簽
網(wǎng)公網(wǎng)安備