Почему размер моего стола более чем в 4 раза больше ожидаемого? (Строки * байт / строка)
Я смотрю на простую таблицу в MySQL, которая имеет 4 столбца следующих размеров,
unsigned bigint (8 bytes)
unsigned bigint (8 bytes)
unsigned smallint (2 bytes)
unsigned tinyint (1 byte)
Так что я бы ожидал 19 байтов / строка.
В этой таблице 1654 150 строк, поэтому размер данных должен составлять 31 428 850 байт (или около 30 мегабайт).
Но через phpMyAdmin я вижу, что данные занимают 136,3 МБ (не считая размера индекса наbigint 1, smallint, tinyint
что составляет 79 МиБ).
Механизм хранения - InnoDB, а Первичный ключ -bigint 1, bigint 2
(идентификатор пользователя и уникальный идентификатор элемента).
Edit: Как и просили в комментариях, вот результат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