发布网友
共4个回答
热心网友
varchar是变长的,所以,你varchar(20),varchar(200),varchar(5)都用来存'hello',是一样的。
换成char(20), char(200)就不一样了。
char是定长,更占空间,但是检索速度更快,适合于规定长度的字段,比如身份证号,char(18)比varchar(18)要好。
热心网友
您好,都一样的,经过测试,只是显示出来的长度不一样,空间都是一的
热心网友
硬盘中相同:均为 5字节("hello") + 1字节(表示字符数) = 6字节
内存中不同:mysql通常会分配固定大小的内存块来保存内部值,varchar(200)消耗的内存空间明显大于varchar(30)
热心网友
最好根据字段值的大小,设置合理的范围