小智 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。会话级临时表不是持久的,一旦会话完成,它们就会被删除。
是的,它确实。怎么来的 ?在 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)
既然SUPPORT说Yes,答案是肯定的。
您还可以运行SHOW ENGINES;并查看 RDS 中是否支持所有引擎。
| 归档时间: |
|
| 查看次数: |
3666 次 |
| 最近记录: |