MySQL 一张表单个索引最多支持创建16个字段

一、MySql官网文档解释
在**mysql5.***中描述如下

Different limits related to tables and indexes. For example, the maximum number of ordered indexes in the cluster is determined by MaxNoOfOrderedIndexes, and the maximum number of ordered indexes per table is 16.

**mysql8.***中描述如下

A table can contain a maximum of 64 secondary indexes.A maximum of 16 columns is permitted for multicolumn indexes. Exceeding the limit returns an error.
ERROR 1070 (42000): Too many key parts specified; max 16 parts allowed

二、测试验证

mysql版本为mysql-5.5.61
1、创建测试表blog_user,包含17个列

create table blog_user
(
  user_Name1 char(15) not null,
  user_Name2 char(15) not null,
  user_Name3 char(15) not null,
  user_Name4 char(15) not null,
  user_Name5 char(15) not null,
  user_Name6 char(15) not null,
  user_Name7 char(15) not null,
  user_Name8 char(15) not null,
  user_Name9 char(15) not null,
  user_Name10 char(15) not null,
  user_Name11 char(15) not null,
  user_Name12 char(15) not null,
  user_Name13 char(15) not null,
  user_Name14 char(15) not null,
  user_Name15 char(15) not null,
  user_Name16 char(15) not null,
  user_Name17 char(15) not null,
  primary key(user_Name1)          
)engine=innodb default charset=utf8 auto_increment=1;

执行结果如下(正常执行):

在这里插入图片描述

2.创建包含16个列的索引

CREATE INDEX idx_blog_user ON blog_user(
	user_Name1,
	user_Name2,
	user_Name3,
	user_Name4,
	user_Name5,
	user_Name6,
	user_Name7,
	user_Name8,
	user_Name9,
	user_Name10,
	user_Name11,
	user_Name12,
	user_Name13,
	user_Name14,
	user_Name15,
	user_Name16
);

执行结果如下(正常执行):
在这里插入图片描述

3.创建包含17个列的索引

CREATE INDEX idx_blog_user ON blog_user(
	user_Name1,
	user_Name2,
	user_Name3,
	user_Name4,
	user_Name5,
	user_Name6,
	user_Name7,
	user_Name8,
	user_Name9,
	user_Name10,
	user_Name11,
	user_Name12,
	user_Name13,
	user_Name14,
	user_Name15,
	user_Name16,
	user_Name17
);

执行结果如下(已经报错):

在这里插入图片描述

 

三、总结

MySQL 一张表单个索引最多支持创建16个字段。

原文:MySQL 一张表单个索引最多支持创建16个字段

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值