AWS RDS 是否支持 MEMORY 存储引擎?

Mar*_* L. 12 mysql storage-engine aws amazon-rds

标题说明了一切。奇怪的是找不到这方面的结果。

小智 12

此答案适用于 AWS Aurora 而不是直接的 MySQL RDS。

仅仅因为SHOW ENGINES说数据库具有MEMORY存储引擎并不意味着您可以实际使用它。我们发现在 AWS Aurora 中,SHOW ENGINES;调用会告诉您该MEMORY引擎受支持。但是,如果您尝试将引擎更改为MEMORY或使用引擎创建非临时表,MEMORY您将获得一个 InnoDB 引擎,因为 Aurora 仅支持 InnoDB。当您运行引擎更改时,您将收到一条警告,指出 InnoDB 引擎已被使用。

这是我从 AWS 支持中获得的信息:

Aurora 旨在为常规表仅提供对 InnoDB 存储引擎的支持。InnoDB 以外的引擎仅支持会话级临时表。在默认配置下,当您尝试使用 InnoDB 以外的存储引擎创建表时,Aurora 会隐式地将表创建为 InnoDB。会话级临时表不是持久的,一旦会话完成,它们就会被删除。


Rol*_*DBA 7

是的,它确实。怎么来的 ?在 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)
Run Code Online (Sandbox Code Playgroud)

既然SUPPORTYes,答案是肯定的。

您还可以运行SHOW ENGINES;并查看 RDS 中是否支持所有引擎。