为了回答这个问题,在磁盘上MySql使用1 +字段中用于存储数据的大小(因此,如果将该列声明为varchar(45),并且该字段为“
FooBar”,则它将在磁盘上使用7个字节,除非您当然使用多字节字符集,否则将使用14个字节)。因此,无论您声明自己的列,它都不会对存储端产生任何影响(您表示担心大型表的磁盘优化)。但是,它确实在查询中有所不同,因为当MySql生成临时表(SORT,ORDER等)时,VARCHAR转换为CHAR,并且可以容纳在单个页面中的记录越多,表扫描所需要的内存越少且速度越快是。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)