您的位置:首页 > 数据库 > MySQL

MySQL索引varchar长度问题(不能超过255)

2018-03-03 14:48 871 查看
Mysql varchar建索引遇到长度太长的问题:

CREATE TABLE `t_crrs_record` (
`ID` varchar(128) NOT NULL COMMENT '主键ID',
`SYSTEM_CODE` varchar(32) DEFAULT NULL COMMENT '编码',
`BUSINESS_ID` varchar(128) DEFAULT NULL COMMENT '号码',
`USER_ID` varchar(512) DEFAULT NULL,
`INVOKE_TIME` varchar(32) DEFAULT NULL COMMENT '时间',
`CRRS_EVENT` varchar(512) DEFAULT NULL,
`INVOKE_EVENT` varchar(32) DEFAULT NULL COMMENT 'event',
`ACTION` varchar(32) DEFAULT NULL COMMENT '执行',
`CREATED_TIME` datetime NOT NULL COMMENT '时间',
PRIMARY KEY (`ID`),
KEY `INDEX_BUSINESS_USER` (`BUSINESS_ID`,`USER_ID`(191)),
KEY `INDEX_T_CRRS_RECOED_INVOKE_TIME` (`INVOKE_TIME`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='记录表'


MySQL的varchar索引只支持不超过768个字节,可以指定前缀

测试:

UTF8编码不能超过255

GBK是双字节,即:768/2=384



后来查看了一下资料,该博客写的比较详细

https://www.cnblogs.com/yuyue2014/p/4339090.html
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: