龙江建站技术,网站模板之家,企业网址搭建,中国建设银行陕西省分行网站Varchar对于小于等于255字节以内的长度可以使用一个byte 存储。大于255个字节的长度则需要使用2个byte存储 1#xff0c; 如果是255长度之内的扩展#xff0c;或者255之外的扩展#xff0c;则不锁表#xff0c;采用in-place方式执行 2#xff0c; 如果从varchar长度从(0,2…Varchar对于小于等于255字节以内的长度可以使用一个byte 存储。大于255个字节的长度则需要使用2个byte存储 1 如果是255长度之内的扩展或者255之外的扩展则不锁表采用in-place方式执行 2 如果从varchar长度从(0,255) 到 255, 则会锁表采用copy方式执行 3 如果字段的缩小会锁表采用copy方式执行 4 (1) 当字段字符集为utf8时字符个数对应的变更区间范围为1-85,86两个区间 (2) 当字段字符集为utf8mb4时字符个数对应的变更区间范围为1-63,64两个区间 5 扩充的字段是否是二级索引 长度在对应范围内会建立全宽索引超出长度的则会转化为前缀索引innodb_large_prefix OFF 长度767 分为如下几种情况 a, 当类型为utf8innodb_large_prefix值为ON时变更区间在86-1024区间中字段宽度扩大变更会很快完成但是在1025的时候 字段宽度扩大会变慢变更完成后二级索引会变为前缀索引索引字段前1024位 b, 当类型为utf8innodb_large_prefix值为OFF时变更区间在86-255区间中字段宽度扩大变更会很快完成但是在256的时候 字段宽度扩大会变慢变更完成后二级索引会变为前缀索引索引字段前256位 c, 当类型为utf8mb4时innodb_large_prefix值为ON时变更区间在64-768区间中字段宽度扩大变更会很快完成但是在769的时候 字段宽度扩大会变慢变更完成后二级索引会变为前缀索引索引字段前768位 d, 当类型为utf8mb4时innodb_large_prefix值为OFF时变更区间在64-191区间中字段宽度扩大变更会很快完成但是在192的时候 字段宽度扩大会变慢变更完成后二级索引会变为前缀索引索引字段前768位 注以上讨论的是使用mysql原生支持的DDL情况如果使用PT则不会进行锁表