タイトルはそれをすべて言います。不思議なことにこれに関する結果を見つけることができません。
はい、そうです。どうして ? RDSインスタンスでこのクエリを実行します。
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)
SUPPORT
はYes
と言うので、答えは「はい」です。
SHOW ENGINES;
を実行して、RDSでサポートされている、またはサポートされていないすべてのエンジンを確認することもできます。
この回答は、単純なMySQL RDSではなくAWS Auroraに適用されます。
SHOW ENGINES
は、データベースにMEMORY
ストレージエンジンがあることを示していますが、実際に使用できるわけではありません。 AWS AuroraでSHOW ENGINES;
呼び出しは、MEMORY
エンジンがサポートされていることを通知します。ただし、AuroraはInnoDBのみをサポートしているため、エンジンをMEMORY
に変更するか、MEMORY
エンジンを使用して非一時テーブルを作成しようとすると、InnoDBエンジンが取得されます。エンジンの変更を実行すると、InnoDBエンジンが使用されたという警告が表示されます。
AWSサポートから得たものは次のとおりです。
Auroraは、通常のテーブルに対してInnoDBストレージエンジンのみをサポートするように設計されています。 InnoDB以外のエンジンは、セッションレベルの一時テーブルでのみサポートされます。デフォルト設定では、InnoDB以外のストレージエンジンを使用してテーブルを作成しようとすると、Auroraは暗黙的にテーブルをInnoDBとして作成します。セッションレベルの一時テーブルは永続的ではなく、セッションが完了すると削除されます。