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

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
《MySQL索引varchar长度问题(不能超过255)》

后来查看了一下资料,该博客写的比较详细
https://www.cnblogs.com/yuyue2014/p/4339090.html

    原文作者:GPF19950411
    原文地址: https://blog.csdn.net/GPF19950411/article/details/79430321
    本文转自网络文章,转载此文章仅为分享知识,如有侵权,请联系博主进行删除。
点赞