MYSQL 在主鍵上建立唯一索引
問題描述
剛到這個公司上班,查看他們的數據庫,發現他們竟然在主鍵上又建立了一次唯一索引,請問這個是怎么回事,是很高明的寫法呢,還是很垃圾的寫法,我感到很莫名其妙?
我看了,很多表都是這樣的情況
CREATE TABLE `tbl_nvhl_order` ( `UUID` varchar(32) NOT NULL COMMENT ’訂單號。’, `CHANNEL_ORDER_ID` varchar(50) DEFAULT ’’ COMMENT ’渠道訂單號’, ... `ISGROUP` varchar(10) DEFAULT NULL COMMENT ’團單標識’, 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,
求大神指點!
問題解答
回答1:肯定是后者呀。
高性能mysql中就特別指出這種情況,這種情況屬于重復索引。在進行更新操作的時候,還需要維護兩個索引,性能開銷增多了。
回答2:肯定多余了,并且是uuid做主鍵,也是個坑,這是開發自建的吧
回答3:不太好,能不用最好別用這種方式。
相關文章:
1. docker 下面創建的IMAGE 他們的 ID 一樣?這個是怎么回事????2. 在應用配置文件 app.php 中找不到’route_check_cache’配置項3. javascript - 關于mongose刪除一次多個字段的問題4. 微信瀏覽器怎么取消緩存?5. javascript - vue-cli與后端框架集成config/index.js配置問題6. javascript - 為什么我無法通過$stateParams在父子State之間傳遞參數?跟State之間的父子關系有關嗎?7. 關于layuiadmin中表格按鈕提交問題求解!!!!8. html按鍵開關如何提交我想需要的值到數據庫9. css - BEM 中塊(Block)有木有什么標準 何時決定一個部分提取為塊而不是其父級的元素呢(Element)?~10. html5 - 用Egret寫的小游戲,怎么分享到微信呢?
