varchar(n)和varchar(max)有什么区别,再是空间和效率上有差别么?
官方的文档时这么说的
如果列数据项的大小一致,则使用 char。
如果列数据项的大小差异相当大,则使用 varchar。
如果列数据项大小相差很大,而且大小可能超过 8,000 字节,请使用 varchar(max)。
那是不是可也这么理解,varchar(max)是varchar类型的子集,也就是说能用varchar的地方一定可以用varchar(max)?
------解决方案--------------------
能用varchar的地方一定可以用varchar(max),对的,一般varchar最大是8000个字符,
而varchar(max)可达到2G,适用范围更广,完全可以取代以前的text类型,