【发布时间】:2016-08-18 06:47:30
【问题描述】:
我正在尝试使用以下语法创建临时 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 核机器。
我已经查看了this SO guidance,但仍然遇到 Table is Full 错误。我是使用内存引擎的新手,欢迎提出任何建议。
【问题讨论】: