如果使用varchar(20000)
定义的列和存储的实际数据大小约为4k-5k,那么它对MYSQL有什么影响吗?正如我从MYSQL文档中读到的那样,当实际数据小于声明的大小时,磁盘的使用没有区别。
我的问题是,对此列的SELECT查询是否会有任何影响?我可以通过声明varchar
更接近我将存储在其中的实际尺寸来更快地查询吗?
答案 0 :(得分:7)
没有。 VARCHAR
字符串以这种方式存储:一些字节用于存储字符串的有效长度(在你的情况下我认为是2个字节),然后N个字节用于存储字符串,其中N等于长度你的字符串。
因此,例如,如果存储'example'
,则只使用9个字节。
SELECT
查询对速度和内存使用都没有影响。