【发布时间】:2012-06-13 06:42:58
【问题描述】:
我知道 VARCHAR 列没有任何限制,它可以达到 mysql 中的 ROW 限制大小(65,535 字节)。
现在对 VARCHAR 列是否可以进行索引有任何限制吗?还是取决于存储引擎?
【问题讨论】:
我知道 VARCHAR 列没有任何限制,它可以达到 mysql 中的 ROW 限制大小(65,535 字节)。
现在对 VARCHAR 列是否可以进行索引有任何限制吗?还是取决于存储引擎?
【问题讨论】:
是的,有一个限制:
来自文档 - 所有存储引擎都支持每个表至少 16 个索引和至少 256 字节的总索引长度。大多数存储引擎都有更高的限制。
更多信息 - Column Indexes。
在这种情况下,您可以为索引指定前缀长度,例如-
CREATE TABLE table1 (
column1 VARCHAR(255) DEFAULT NULL,
UNIQUE KEY UK_table1_column1 (column1(10))
);
【讨论】: