Я понимаю разницу между CHAR и VARCHAR, один из которых имеет фиксированную длину, а другой — переменную длину, и что, если все поля в строке имеют фиксированную длину, таблица обычно работает лучше.
Однако мне неясно, что если я задаю VARCHAR длину, такую как VARCHAR(500), сохраняет ли это строку фиксированной длины?
Для контекста у меня есть чистая таблица с 50 столбцами, в основном TINYINT, но мне нужны два столбца в этой таблице как VARCHAR, так как в каждом из них нужно будет хранить до 500 символов. Точная длина зависит от пользовательского ввода и поэтому неизвестна.
В качестве дополнительной квалификации я действительно не хочу помещать эти поля VARCHAR в отдельную ссылочную таблицу, поскольку это создает ненужные соединения и не очень эффективно соответствует ожидаемым шаблонам запросов.
Любая помощь будет оценена по достоинству. Спасибо.