I have a single InnoDB table on disk, with ~1,107,423 rows and taking up 45.6 MiB disk space. The structure is:
messageid int(11) signature varchar(255)
When I create a MEMORY-backed version of this table, it takes up 803.5 MiB of memory!
It seems reasonable there'd be some expansion: a lot of extra pointers from the B-tree index or something, but increasing by a factor of 16 seems awfully excessive! What's the reason behind this?