从底层存储空间上来讲,他们存5个相同字符和10个相同的字符占用的空间是一样的,但是在mysql进行排序的时候,总是分配固定大小的内存块来保存内部值,无论是在内存临时表中还是磁盘临时表,所以Varchar(100)在排序时消耗的内存会远大于Varchar(10),所以最好只分配需要的空间
参考资料:《高性能MySQL》第三版
从底层存储空间上来讲,他们存5个相同字符和10个相同的字符占用的空间是一样的,但是在mysql进行排序的时候,总是分配固定大小的内存块来保存内部值,无论是在内存临时表中还是磁盘临时表,所以Varchar(100)在排序时消耗的内存会远大于Varchar(10),所以最好只分配需要的空间
参考资料:《高性能MySQL》第三版