MYSQL 在主鍵上建立唯一索引
問題描述
剛到這個(gè)公司上班,查看他們的數(shù)據(jù)庫,發(fā)現(xiàn)他們竟然在主鍵上又建立了一次唯一索引,請問這個(gè)是怎么回事,是很高明的寫法呢,還是很垃圾的寫法,我感到很莫名其妙?
我看了,很多表都是這樣的情況
CREATE TABLE `tbl_nvhl_order` ( `UUID` varchar(32) NOT NULL COMMENT ’訂單號。’, `CHANNEL_ORDER_ID` varchar(50) DEFAULT ’’ COMMENT ’渠道訂單號’, ... `ISGROUP` varchar(10) DEFAULT NULL COMMENT ’團(tuán)單標(biāo)識(shí)’, PRIMARY KEY (`UUID`), UNIQUE KEY `PK_TBL_NVHL_ORDER` (`UUID`) USING BTREE, KEY `index_name` (`CHANNEL_ORDER_ID`,`SOURCE`) USING BTREE, KEY `idx_creator` (`CREATOR`) USING BTREE, KEY `productcode` (`PRODUCTCODE`), KEY `index_app_id` (`APP_ID`) USING BTREE) ENGINE=InnoDB DEFAULT CHARSET=utf8 COMMENT=’’
其中
PRIMARY KEY (`UUID`),UNIQUE KEY `PK_TBL_NVHL_ORDER` (`UUID`) USING BTREE,
求大神指點(diǎn)!
問題解答
回答1:肯定是后者呀。
高性能mysql中就特別指出這種情況,這種情況屬于重復(fù)索引。在進(jìn)行更新操作的時(shí)候,還需要維護(hù)兩個(gè)索引,性能開銷增多了。
回答2:肯定多余了,并且是uuid做主鍵,也是個(gè)坑,這是開發(fā)自建的吧
回答3:不太好,能不用最好別用這種方式。
相關(guān)文章:
1. javascript - jquery怎么給select option一個(gè)點(diǎn)擊時(shí)觸發(fā)的事件,如圖 如果選擇自定義觸發(fā)一個(gè)時(shí)間?2. javascript - 怎樣限制同一個(gè)瀏覽器不能登錄兩個(gè)賬號3. nginx配置server模塊的問題4. java - android代碼重構(gòu):如何把a(bǔ)pp設(shè)置里的頭像UI做成通用的?5. 想找個(gè)php大神仿個(gè)網(wǎng)站。6. java - 新手做一個(gè)安卓視頻播放器,想實(shí)現(xiàn)一個(gè)進(jìn)度條,按鈕那種在視頻下方懸浮的功能,不知道思路!7. javascript - angular和jquery都用到了$符號,一起用會(huì)不會(huì)沖突?8. css3 - Typecho 后臺(tái)部分表單按鈕在 Chrome 下出現(xiàn)靈異動(dòng)畫問題,求解決9. mysql優(yōu)化 - 關(guān)于mysql分區(qū)10. 如何將行內(nèi)塊元素的內(nèi)容垂直水平兩個(gè)方向居中?
