Back to questions
Junior — Middle
116
Какое отличие между типами данных CHAR и VARCHAR в SQL и в каких случаях их лучше использовать?
Answer from AI
sobes.tech AI
В SQL типы данных CHAR и VARCHAR отличаются способом хранения и использованием памяти:
-
CHAR(n) — фиксированная длина строки. Если строка короче n, оставшееся пространство заполняется пробелами. Используется, когда длина данных всегда одинаковая, например, коды стран, статусы.
-
VARCHAR(n) — переменная длина строки до n символов. Хранит только фактические символы плюс небольшой служебный байт для длины. Лучше подходит для данных с переменной длиной, например, имена, адреса.
Использование:
- CHAR эффективен при фиксированной длине, так как быстрее обрабатывается и проще индексируется.
- VARCHAR экономит место при переменной длине, но может иметь небольшие накладные расходы.
Пример:
CREATE TABLE users (
country_code CHAR(2), -- всегда 2 символа
username VARCHAR(50) -- до 50 символов
);