Почему размер моей таблицы более чем в 4 раза больше ожидаемого? (строк *байт/строка)

Я смотрю на простую таблицу в MySQL, которая имеет 4 столбца со следующими размерами:

unsigned bigint (8 bytes)
unsigned bigint (8 bytes)
unsigned smallint (2 bytes)
unsigned tinyint (1 byte)

Так что я бы ожидал 19 байт/строку.

В этой таблице 1 654 150 строк, поэтому размер данных должен составлять 31 428 850 байт (или около 30 мегабайт ).

Но через phpMyAdmin я вижу, что данные занимают 136,3 МБ (, не считая размера индекса на bigint 1, smallint, tinyint, который составляет 79 МБ ).

Механизм хранения — InnoDB, а первичный ключ — bigint 1, bigint 2(. идентификатор пользователя и уникальный идентификатор элемента ).


Изменить:Как просили в комментариях, вот результатSHOW CREATE TABLE storage

CREATE TABLE `storage` (
 `fbid` bigint(20) unsigned NOT NULL,
 `unique_id` bigint(20) unsigned NOT NULL,
 `collection_id` smallint(5) unsigned NOT NULL,
 `egg_id` tinyint(3) unsigned NOT NULL,
 PRIMARY KEY (`fbid`,`unique_id`),
 KEY `fbid` (`fbid`,`collection_id`,`egg_id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8
6
задан Brad Dwyer 17 July 2012 в 16:44
поделиться