Строки фиксированной и переменной длины в SQL отличаются способом определения длины значений. 12
Строки фиксированной длины задаются типом CHAR и имеют строго фиксированное количество символов. 1 Длину определяют заранее, на этапе определения таблицы. 2 Если пользователь не до конца заполнит поле, СУБД автоматически завершит строку, добавив пробелы. 2
Строки переменной длины задаются типом VARCHAR и позволяют значениям содержать текст любой длины, но не больше, чем максимальная длина. 1 У таких строк есть ограничение по максимальному размеру поля данной СУБД, но нет ограничений «сверху». 2 В некоторых типах встречается «нижняя граница» — минимальное количество символов. 2
У строк с фиксированной длиной есть преимущество: зная длину строки, можно легко вычислить байты, которые относятся к искомой строке. 1 В случае же с переменной длиной строк так быстро найти нужную строку таблицы не получится. 1