首先,VARCHAR和CHAR是两种最主要的字符串类型。在设计用于存储字符串的表字段时,可能会对到底选哪个类型有所犹豫,确实如果不了解它们之间的区别,选择上是不会那么容易,本篇将详细介绍它们之间的区别以及如何正确的选择恰当的类型。对于字符串数据如何存储在磁盘和内存中,不同存储引擎具体的实现也不同,所以,接下来的内容仅限于InnoDB存储引擎。
区别
下面用一张图来展示VARCHAR和CHAR之间的区别。
选型
同样用一张图来展示如何选择VARCHAR和CHAR存储字符串。
小结
对存储字符串选型来说,可以根据上面指出的原则来进行选择,但有一点是一样的,那就是只给与真正需要的空间,因为更长的列会消耗更多的内存。