如果存储的varchar数据小于定义的大小限制,是否会对性能产生影响?

时间:2011-12-06 09:43:06

标签: mysql varchar

如果使用varchar(20000)定义的列和存储的实际数据大小约为4k-5k,那么它对MYSQL有什么影响吗?正如我从MYSQL文档中读到的那样,当实际数据小于声明的大小时,磁盘的使用没有区别。

我的问题是,对此列的SELECT查询是否会有任何影响?我可以通过声明varchar更接近我将存储在其中的实际尺寸来更快地查询吗?

1 个答案:

答案 0 :(得分:7)

没有。 VARCHAR字符串以这种方式存储:一些字节用于存储字符串的有效长度(在你的情况下我认为是2个字节),然后N个字节用于存储字符串,其中N等于长度你的字符串。

因此,例如,如果存储'example',则只使用9个字节。

SELECT查询对速度和内存使用都没有影响。