Мне интересно, если у меня есть VARCHAR из 200 символов и что я помещаю строку в 100 символов, будет ли она использовать 200 байт или она будет просто использовать фактический размер строки?
Размер MySQL VARCHAR?
Ответ 1
100 символов.
Это var (variable) в varchar
: вы сохраняете только то, что вводите (и дополнительные 2 байта для хранения длины до 65535)
Если это было char(200)
, тогда вы всегда должны хранить 200 символов, заполненных 100 пробелами
Смотрите документы: Типы CHAR и VARCHAR
Ответ 2
VARCHAR означает, что это символ переменной длины, поэтому он заняв столько места, сколько необходимо. Но если вы что-то знали о лежащей в основе структуре, может иметь смысл ограничить VARCHAR до некоторой максимальной суммы.
Например, если вы сохраняете комментарии от пользователя, вы можете ограничьте поле комментария только 4000 символами; если да, то это не действительно имеет смысл сделать таблицу sql полем, которое больше чем VARCHAR (4000).
Ответ 3
Собственно, это займет 101 байт.