MYSQL 在主键上建立唯一索引
学习ing
学习ing 2017-06-30 09:55:11
0
3
1109

刚到这个公司上班,查看他们的数据库,发现他们竟然在主键上又建立了一次唯一索引,请问这个是怎么回事,是很高明的写法呢,还是很垃圾的写法,我感到很莫名其妙?

我看了,很多表都是这样的情况

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,

求大神指点!

学习ing
学习ing

全部回复(3)
过去多啦不再A梦

肯定是后者呀。

高性能mysql中就特别指出这种情况,这种情况属于重复索引。在进行更新操作的时候,还需要维护两个索引,性能开销增多了。

过去多啦不再A梦

肯定多余了,并且是uuid做主键,也是个坑,这是开发自建的吧

伊谢尔伦

不太好,能不用最好别用这种方式。

热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板