Junior — Middle
Mi a különbség a CHAR és VARCHAR adat típusok között SQL-ben, és mely esetekben érdemes inkább használni őket?
sobes.tech MI
Válasz az MI-től
В SQL типы данных CHAR и VARCHAR отличаются способом хранения и использованием памяти:
-
CHAR(n) — фиксированная длина строки. Если строка короче n, оставшееся пространство заполняется пробелами. Используется, когда длина данных всегда одинаковая, например, коды стран, статусы.
-
VARCHAR(n) — переменная длина строки до n символов. Хранит только фактические символы плюс небольшой служебный байт для длины. Лучше подходит для данных с переменной длиной, например, имена, адреса.
Использование:
- CHAR эффективен при фиксированной длине, так как быстрее обрабатывается и проще индексируется.
- VARCHAR экономит место при переменной длине, но может иметь небольшие накладные расходы.
Пример:
CREATE TABLE users (
country_code CHAR(2), -- всегда 2 символа
username VARCHAR(50) -- до 50 символов
);