请稍等 ...
×

采纳答案成功!

向帮助你的同学说点啥吧!感谢那些助人为乐的人

已经唯一索引了,为什么还要普通索引?

DROP TABLE IF EXISTS `t_spec_group`;
CREATE TABLE `t_spec_group`  (
  `id` int(10) UNSIGNED NOT NULL AUTO_INCREMENT COMMENT '主键',
  `spg_id` int(10) UNSIGNED NOT NULL COMMENT '品类编号',
  `name` varchar(200) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL COMMENT '品类名称',
  `is_delted` tinyint(1) NOT NULL DEFAULT 0 COMMENT '逻辑删除',
  PRIMARY KEY (`id`) USING BTREE,
  UNIQUE INDEX `unq_spg_id`(`spg_id`) USING BTREE,
  UNIQUE INDEX `unq_name`(`name`) USING BTREE,
  INDEX `idx_spg_id`(`spg_id`) USING BTREE
) ENGINE = InnoDB AUTO_INCREMENT = 6 CHARACTER SET = utf8 COLLATE = utf8_general_ci COMMENT = '品类表' ROW_FORMAT = Dynamic;

spg_id 这个字段已经设置了唯一索引,为什么还要给他设置普通索引?

正在回答 回答被采纳积分+3

1回答

神思者 2020-10-19 15:41:53

这个问题以前回答过,这里就再讲一下。mysql数据库里面有Btree索引和哈希索引。我们加唯一性索引用的是btree索引,如果这个字段将来想要用哈希索引,我们不必修改唯一性索引,直接在普通索引改一下就可以了。

1 回复 有任何疑惑可以回复我~
  • 提问者 弱弱小乖乖 #1
    那后期要,直接添加不行么?添加和修改差别很大么?
    回复 有任何疑惑可以回复我~ 2020-10-19 18:15:38
问题已解决,确定采纳
还有疑问,暂不采纳
意见反馈 帮助中心 APP下载
官方微信