我读过一篇文章,cp1256 排序规则对阿拉伯字符占用 1 个字节,但是当我在 cp1256 类型为 varchar(900) 的列上创建索引时,只有 767 个字符用于索引目的:
创建表
col
(
id int(11) NOT NULL AUTO_INCREMENT,
arabic varchar(900) CHARACTER SET cp1256 NOT NULL,
PRIMARY KEY (id),
KEY (arabic(767)
) ENGINE=InnoDB;
阿拉伯语 varchar(900) 被截断为 (767) 我的索引。
为什么会这样?
这是 InnoDB 引擎的限制。它不能索引超过 767 个字节(对于单个列)
请参阅手册:
http://dev.mysql.com/doc/refman/5.5/en/innodb-restrictions.html