一、先描述一下问题吧,如下创建表时候报错了
CREATE TABLE `xxx` (
`id` bigint(20) NOT NULL AUTO_INCREMENT,
`sys_code` varchar(255) DEFAULT NULL COMMENT '系统编码',
`module_name` varchar(1000) DEFAULT NULL COMMENT '模块名',
`call_num` bigint(20) DEFAULT NULL COMMENT '调用次数',
`cost_dis` varchar(50) DEFAULT NULL COMMENT '耗时分布',
`date_time` varchar(50) DEFAULT NULL COMMENT '日期时间',
PRIMARY KEY (`id`),
UNIQUE KEY `sys_code` (`sys_code`, `module_name`, `cost_dis`, `date_time`)
) ENGINE=InnoDB AUTO_INCREMENT=1 DEFAULT CHARSET=utf8mb4
> 1071 - Specified key was too long; max key length is 3072 bytes
> 时间: 0s
二、显而易见,提示就是长度太长超过了mysql的最大配置。
三、问题和解决方案分析
1、首先考虑是否有方法将mysql这个长度限制调大,查了一下,如下操作:
(1)set global innodb_large