Ответ
SMALLINT — это целочисленный тип данных SQL, который используется для оптимизации хранения, когда диапазон возможных значений заранее известен и ограничен.
Ключевые характеристики:
- Размер: Обычно занимает 2 байта (16 бит).
- Диапазон значений:
SIGNED(со знаком): от -32 768 до 32 767UNSIGNED(без знака): от 0 до 65 535
Практическое применение:
- Статусы и коды: Коды HTTP-статусов, внутренние статусы заказа (
1-создан,2-оплачен,3-доставлен). - Небольшие числовые атрибуты: Возраст человека, рейтинг по 10-балльной шкале, количество товаров в небольшой корзине.
- Флаги и перечисления с числовым представлением.
Пример:
CREATE TABLE orders (
id INT PRIMARY KEY,
-- Статус заказа: 1-новый, 2-в обработке, 3-выполнен, 4-отменен
status_code SMALLINT UNSIGNED NOT NULL DEFAULT 1,
-- Приоритет заказа от 1 (низкий) до 5 (критический)
priority SMALLINT UNSIGNED NOT NULL DEFAULT 3,
CHECK (priority BETWEEN 1 AND 5)
);
Преимущество: Использование SMALLINT вместо INT (4 байта) экономит место на диске и в оперативной памяти, а также может ускорить обработку запросов, особенно при работе с большими таблицами и индексами.