【发布时间】:2014-04-21 18:29:11
【问题描述】:
这是我的 MySQL InnoDB 数据库。注意days 表如何将index length 报告为0。
这是表数据、方案和索引:
如您所见,该表定义了一个PRIMARY 列。这应该被索引,对吧?所以应该有一定的索引长度。
但是,当我实际添加INDEX 列时,例如:
表格突然报告了某个index length,可以在这里看到:
所以我想知道:发生了什么事?索引长度到底是多少?如果它们被索引,为什么它不考虑 PRIMARY 键?
【问题讨论】:
-
你的主键是一个复合键(多个字段),所以在键中的FIRST字段上报长度,即
user。因为days本质上是捎带,所以它有一个长度为 0 的密钥,因为它已经在用户字段中进行了说明。 -
@MarcB:你确定这个解释吗?因为这发生在所有未定义 INDEX 并且仅在单个字段上包含 PRIMARY 键的表上。
idPRIMARY、username的简单表将索引长度报告为 0。
标签: mysql indexing primary-key innodb