我知道 VARCHAR 列没有任何限制,它可以达到 mysql 中的 ROW 限制大小(65,535 字节)。
现在 VARCHAR 列是否可以被索引?还是取决于存储引擎?
是的,有一个限制:
从文档 -所有存储引擎支持每个表至少 16 个索引和至少 256 字节的总索引长度。大多数存储引擎都有更高的限制。
更多信息 -列索引。
在这种情况下,您可以为索引指定前缀长度,例如 -
CREATE TABLE table1 (
column1 VARCHAR(255) DEFAULT NULL,
UNIQUE KEY UK_table1_column1 (column1(10))
);