我正在查看 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 MiB(不包括索引的大小bigint 1, smallint, tinyint
为 79 MiB)。
存储引擎是 InnoDB,主键是bigint 1, bigint 2
(用户 ID 和唯一项目 ID)。
编辑:根据评论中的要求,这是一个结果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