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

use*_*206 5 mysql varchar

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

我的问题是,这个列的SELECT查询会有什么影响吗?我可以通过声明varchar更接近我将存储在其中的实际大小来更快地查询吗?

lor*_*o-s 7

编号VARCHAR字符串以这种方式存储:一些字节用于存储字符串的有效长度(在我看来是2个字节),然后N个字节用于存储字符串,其中N等于字符串的长度.

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

SELECT对于速度和内存使用情况,查询都没有影响.