Does AWS RDS support MEMORY storage engine?
This answer applies to AWS Aurora not straight MySQL RDS.
Just because SHOW ENGINES
says the database has the MEMORY
storage engine doesn't mean you can actually use it. We have found that in AWS Aurora the SHOW ENGINES;
call will tell you that the MEMORY
engine is supported. However, if you try to change the engine to MEMORY
or create a non-temporary table with MEMORY
engine you'll get an InnoDB engine, because Aurora only supports InnoDB. When you run the engine change you'll get a warning that the InnoDB engine has been used.
Here's what I got from AWS support:
Aurora is designed to provide support for only InnoDB storage engine for regular tables. Engines other than InnoDB are only supported for session-level temporary tables. With default configuration, when you try to create a table using a storage engine other than InnoDB, Aurora will implicitly create the table as InnoDB. Session level temporary tables are not persistent and they will be dropped once the session is completed.
Yes, it does. How come ? Run this query in the RDS Instance:
mysql> select * from information_schema.engines where engine='MEMORY'\G
*************************** 1. row ***************************
ENGINE: MEMORY
SUPPORT: YES
COMMENT: Hash based, stored in memory, useful for temporary tables
TRANSACTIONS: NO
XA: NO
SAVEPOINTS: NO
1 row in set (0.01 sec)
Since SUPPORT
says Yes
, the answer is Yes.
You could also run SHOW ENGINES;
and see all engines supported or not in RDS.