Title says it all. Strangely can't find a result on this.
-
RE: Rollback: This question was about MySQL from the beginning, and the accepted answer indicates such. The Aurora answer (which I upvoted) is really helpful and sufficiently related to the original question (RDS) that Google will send requests here. Still, the question remains what it was.– Marc L.Jul 11, 2018 at 20:02
2 Answers
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.
-
Your answer is generally helpful, however not always true, because the answer isn't necessarily binary. As Barry points out in the other answer, Aurora MySQL has the unique limitation of memory engine with temporary tables, and not proper globally visible tables, even though Aurora emits "YES" for
SUPPORT
in the query you show here. Apr 15, 2019 at 13:19 -
@ChristopherMcGowan I know my answer is an oversimplification. One must read the documentation to see what limits or any kind of moratorium is placed on any storage engine in RDS or Aurora. That's why I am not surprised the other answer has more votes. Apr 15, 2019 at 13:32
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.