我正在尝试使用以下语法创建临时 mySQL 表并将其加载到内存中,但遇到“表已满”错误:
CREATE TEMPORARY TABLE IF NOT EXISTS tmpHistory ENGINE=MEMORY SELECT * FROM history ORDER BY date ASC;
我原来的历史 InnoDB 表有大约 3m 行和大约 300mb。我已经从 16mb 的默认值增加了以下两个服务器变量:
max_heap_table_size = 536870912
tmp_table_size = 536870912
我在 AWS r3.xlarge 上运行 mySQL,这是一个具有 30.5GB RAM 的 4 核机器。
我已经查看了此 SO 指南,但仍然遇到 Table is Full 错误。我是使用内存引擎的新手,所以任何建议都值得赞赏。