12

Title says it all. Strangely can't find a result on this.

1
  • 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 2

7

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.

2
  • 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
13

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.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge that you have read and understand our privacy policy and code of conduct.

Not the answer you're looking for? Browse other questions tagged or ask your own question.