文章詳情頁
數(shù)據(jù)庫設(shè)計(jì) - MySQL數(shù)據(jù)庫主鍵問題
瀏覽:192日期:2022-06-15 15:33:26
問題描述
前幾天在項(xiàng)目組里,總監(jiān)建議把所有數(shù)據(jù)表的主鍵設(shè)為字符串類型(UUID),由應(yīng)用程序維護(hù)數(shù)據(jù)表的主鍵,問下這個主要是出于什么方面的考慮呢???P.S. 我們用的MySQL數(shù)據(jù)庫,存儲引擎用的InnoDB,看了很多DBA的文章建議是說InnoDB類型的表最好是使用自增主鍵...
問題解答
回答1:UUID生成主鍵避免了主鍵重復(fù),程序易維護(hù),@wangcw解釋的蠻好,至于劣勢,經(jīng)驗(yàn)所限,暫且沒遇上
回答2:就我理解,使用UUID優(yōu)勢,重復(fù)性低,方便自動生成,不用考慮主鍵重復(fù)插入失敗問題;不建議使用UUID原因:數(shù)據(jù)量達(dá)到一定值后索引維護(hù)很不方便,數(shù)據(jù)庫性能大打折扣,對分片條理性也有一定影響。
回答3:使用UUID的話,得通過應(yīng)用去維護(hù)主鍵,這樣的話不是很繁瑣么...
相關(guān)文章:
1. 利用IPMI遠(yuǎn)程安裝centos報錯!2. html5和Flash對抗是什么情況?3. 在mac下出現(xiàn)了兩個docker環(huán)境4. 測試自動化html元素選擇器元素ID或DataAttribute [關(guān)閉]5. 運(yùn)行python程序時出現(xiàn)“應(yīng)用程序發(fā)生異常”的內(nèi)存錯誤?6. node.js - mongodb查找子對象的名稱為某個值的對象的方法7. spring-mvc - spring-session-redis HttpSessionListener失效8. javascript - QQ第三方登錄的問題9. java - Spring boot 讀取 放在 jar 包外的,log4j 配置文件,系統(tǒng)有創(chuàng)建日志文件,不寫入日志信息。10. 正在使用electron和node.js做桌面應(yīng)用,需要實(shí)時監(jiān)聽是否有網(wǎng)絡(luò)連接,node或者electron是否可以做到
排行榜

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