mysql一张表最多多少索引_关于MySQL的表最多能建多少个索引

在MySQL中,InnoDB引擎的单个表最多可以有64个二级索引,加上主键则是65个。然而,复合索引的列数限制为16列。一些来源可能错误地给出了16个索引的总数,实际上这是复合索引中列的数量限制。遇到技术疑问时,查阅官方文档是最可靠的解答方式。
摘要由CSDN通过智能技术生成

在某个网站上,忽然看到了个简短的问答“在MySQL数据库单个普通表上,最多可以创建多少个索引?”

老实说,看到这个问题的瞬间我是有点懵的状态,我原本只只知道Innodb引擎的表,最多只有1017列(至于为什么不是1024,可以百度一下),

下意识地就觉得索引最多可以创建1017个,但是仔细一想,不对啊, 索引可以是复合索引啊,那绝对不止1017,难道索引的数量会是1个很大的数据吗?

再仔细想想,以Innodb的抠门个性,不可能会是1个大的数值,然后去翻了下官方文档,看到如下内容。

15.22 InnoDB Limits

This section describes limits for InnoDB tables, indexes, tablespaces, and other aspects of the InnoDB storage engine.

A table can contain a maximum of 1017 columns. Virtual generated columns are included in this limit.

A table can contain a maximum of 64 secondary indexes

上面就清楚地写着, 1个表最大只能创建64个2级索引。 加上主键,那么上面的问题就有了答案,65个。

我试着填了65 的答案上去之后,点击提交,网站给我的回复是错误,我花了1个积分查看了正确答案【我回答是为了赚积分,没想到还赔了1个积分!!】

网站给的答案是:16.

纳尼

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值