Типи полів в mysql

1, 2, 3, 4 або 8 байт, в залежності від кількості елементів множини (максимум 64)

VARCHAR, BLOB і TEXT є типами даних із змінною довжиною рядка, для таких типів вимоги до пам'яті в загальному випадку визначаються реальним розміром величин в стовпці (представлений символом L в наведеній вище таблиці), а не максимально можливим для даного типу розміром. Наприклад, стовпець VARCHAR (10) може містити рядок з максимальною довжиною 10 символів. Реально необхідний обсяг пам'яті дорівнює довжині рядка (L) плюс 1 байт для запису довжини рядка. Для рядка 'abcd' L дорівнює 4 і необхідний обсяг пам'яті дорівнює 5 байтів.

У разі типів даних BLOB і TEXT потрібно 1, 2, 3 або 4 байти для запису довжини значення даного стовпця в залежності від максимально можливої ​​довжини для даного типу.

Якщо таблиця включає в себе стовпець будь-якого типу зі змінною довжиною рядка, то формат запису також буде змінної довжини. Слід враховувати, що при створенні таблиці MySQL може при певних умовах перетворити тип стовпця зі змінною довжиною в тип з постійною довжиною рядка або навпаки.

Розмір об'єкта ENUM визначається кількістю різних перераховуються величин. Один байт використовується для перерахування до 255 можливих величин. Використовуючи два байта, можна перерахувати до 65535 величин.

Розмір об'єкта SET визначається кількістю різних елементів множини. Якщо ця кількість дорівнює N, то розмір об'єкта обчислюється за формулою (N + 7) / 8 і отримане число округляється до 1, 2, 3, 4 або 8 байтів. Безліч SET може мати максимум 64 елемента.

Схожі статті