mysql聚集索引和非聚集索引

  1. InnoDB 每个Table只能拥有一个且必有一个Clustered Index 聚集索引
  2. MyISAM 存储引擎不支持聚集索引
  3. InnoDB可以不定义Primary Key,但一定会有Clustered Index
  4. 所有非Clustered Index,都可以称为Secondary Indexs 二级索引

MySQL InnoDB 引擎具有强制聚集索引,通常使用主键。也就是主键就是Clustered Index,

如果没有主键按以下规则生成。

  1. 表有明确的PRIMARY KEY:使用PRIMARY KEY
  2. 无PRIMARY KEY:InnoDB 默认使用第一个 UNIQUE INDEX,且索引列需要全部定义为非空列(NOT NULL)作为Clustered Index
  3. 如无PRIMARY KEY,也没有合适的UNIQUE INDEX,InnoDB将会在包含行ROW ID的合成列上生成一个名为GEN_CLUST_INDEX的隐藏Clustered Index


 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值