Memory Table and Disk Table
Big Query Cache == Big Trouble.


It takes a long time to purge the QC of table entries every time you write to the table.
I robs RAM from other useful tasks.
With 1GB for QC and 835 for buffer_pool, you are very probably swapping.  Swapping is terrible for performance; MySQL assumes its caches are not swapped!


Do not make the QC bigger than 50M.  In most production system it is better to turn off the QC.

With 2GB of RAM, you probably should not set innodb_buffer_pool_size bigger than 500M.

Listing the indexes does not help without seeing the SELECTs.  Please also provide SHOW CREATE TABLE.

50 SELECTs/sec -- Swapping and/or poor indexes and/or poor formulation of queries.  5000/sec may be possible with your hardware.

Abandon the discussion of MEMORY until you work through my comments.  We may (but probably won't) need to come back to MEMORY.