不一定都是乘 4,n 乘多少是跟字符集有关的。乘 4 一般是 utf8mb4。 也不是 char 就 +1、varchar 就 +2,还要看该列是否可为空。 对于可空列:char 要 +1,用额外的一个字节存储值是否为空;varchar 要 +3,除了用一个字节存储值是否为空外,还要用两个字节存储实际的长度。 对于非空列:char 什么都不加;varchar 要 +2,存实际长度。
不一定都是乘 4,n 乘多少是跟字符集有关的。乘 4 一般是 utf8mb4。
也不是 char 就 +1、varchar 就 +2,还要看该列是否可为空。
对于可空列:char 要 +1,用额外的一个字节存储值是否为空;varchar 要 +3,除了用一个字节存储值是否为空外,还要用两个字节存储实际的长度。
对于非空列:char 什么都不加;varchar 要 +2,存实际长度。