MYSQL单列索引上限767字节

767来源:
MySQL5.5之前,各种字符编码中utf8(3字节)是占用空间最大的字节,
所以限制了单列索引限制256*3-1 = 767。

5.5之后引入了utf8mb4编码占用4字节,增加innodb_large_prefix参数,当置为ON时允许列索引最大达到3072。

3072来源:
innodb的page默认大小为16k
由于采用b+tree结构,为了不退化为链表,要求子节点一个page最好包含两条记录,所以一个记录不能超过8k。
又由于聚簇索引,在二级索引中包含主键索引,所以单个索引不能超过4k,去除预留和辅助空间,取值3072。

  • 1
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 4
    评论
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值