mysql 5.7 utf8 alter table 扩容varchar讨论

二、mysql 5.7 utf8  alter table 扩容varchar大小:
优先使用的算法 in-place,其次是copy
1> 扩容前字段的大小如果小于256字节 && 扩容后大小小于256字节,则通过in-place算法,采用默认的lock mode,不会阻塞dml操作
2> 扩容前字段的大小如果小于256字节 && 扩容后大小大于256字节,则通过copy算法,采用默认的lock mode,会阻塞dml操作(系统层可以看到拷贝临时表)
3> 扩容前字段的大小如果大于等于256字节, 则通过in-place算法,采用默认的lock mode,不会阻塞dml操作
4> 缩容仅支持copy算法
也就是说VARCHAR列所需的长度字节数必须保持不变,如果发生长度字节的数量从1更改为2,则仅支持copy算法
https://dev.mysql.com/doc/refm ... .html
https://dev.mysql.com/doc/refm ... .html

0 个评论

要回复文章请先登录注册