文章詳情頁
數(shù)據(jù)庫設(shè)計(jì) - MySQL數(shù)據(jù)庫主鍵問題
瀏覽:122日期:2022-06-15 15:33:26
問題描述
前幾天在項(xiàng)目組里,總監(jiān)建議把所有數(shù)據(jù)表的主鍵設(shè)為字符串類型(UUID),由應(yīng)用程序維護(hù)數(shù)據(jù)表的主鍵,問下這個(gè)主要是出于什么方面的考慮呢???P.S. 我們用的MySQL數(shù)據(jù)庫,存儲(chǔ)引擎用的InnoDB,看了很多DBA的文章建議是說InnoDB類型的表最好是使用自增主鍵...
問題解答
回答1:UUID生成主鍵避免了主鍵重復(fù),程序易維護(hù),@wangcw解釋的蠻好,至于劣勢(shì),經(jīng)驗(yàn)所限,暫且沒遇上
回答2:就我理解,使用UUID優(yōu)勢(shì),重復(fù)性低,方便自動(dòng)生成,不用考慮主鍵重復(fù)插入失敗問題;不建議使用UUID原因:數(shù)據(jù)量達(dá)到一定值后索引維護(hù)很不方便,數(shù)據(jù)庫性能大打折扣,對(duì)分片條理性也有一定影響。
回答3:使用UUID的話,得通過應(yīng)用去維護(hù)主鍵,這樣的話不是很繁瑣么...
相關(guān)文章:
1. windows2003下的apache響應(yīng)時(shí)間特別長?2. 關(guān)于docker下的nginx壓力測(cè)試3. debian - docker依賴的aufs-tools源碼哪里可以找到啊?4. node.js - nodejs+express+vue5. javascript - vue vue-router 報(bào)$router重復(fù)定義6. 關(guān)于Java引用傳遞的一個(gè)困惑?7. java - 根據(jù)月份查詢多個(gè)表里的內(nèi)容怎么實(shí)現(xiàn)好?8. android - 復(fù)雜布局問題9. javascript - webpack熱加載配置不生效10. mysql - eclispe無法打開數(shù)據(jù)庫連接
排行榜

熱門標(biāo)簽