Error number: MY-012246; Symbol: ER_IB_MSG_421; SQLSTATE: HY000
Message: %s
MySQL错误号MY-012246/ER_IB_MSG_421,对应的SQLSTATE为HY000。
错误信息:错误将索引添加到表时出错:索引水平不能超过64KB,因此无法创建索引:’%s 。
这是一个常见的MySQL错误,它表明用户尝试为表添加的索引的容量超出了MySQL限制的64KB。当一个表上添加索引时,MySQL限制索引的大小,防止无用的开销,数据库操作成本过高。并且,超出64KB的索引会对MySQL查询性能也产生负面影响。所以,当表中的数据太多,超过64KB,MySQL就会抛出该错误。
常见情形是,用户在表中添加了大量数据,例如,1000行以上,每行有超过72列列。当用户尝试在表上添加索引时,就会发生此错误,因为表中的数据超出了MySQL限制的64KB。
为了解决这个问题,用户可以采取几种措施。首先,在表中减少列的数量或者减少列的大小,因为每行的列越多,每个索引就会越大。其次,可以尝试改变索引的位置,例如,把索引放在表的当前行前面,以减少索引的大小。此外,用户还可以尝试将索引拆分成多个索引,来减少索引的总大小,并且最好不要添加多余的索引,以降低索引的总大小。