Sobes.tech
Назад к вопросам
Junior — Middle
117

Какое отличие между типами данных CHAR и VARCHAR в SQL и в каких случаях их лучше использовать?

Ответ от нейросети

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 символов
);