MySQL in-MEMORY表已满。我怎样才能让它使用更多内存?

时间:2014-02-07 19:30:07

标签: mysql

我收到The table 'x' is full之类的消息,其中x是使用MEMORY存储引擎的表。我有更多的系统内存可用。如何让这个表实际使用更多内存?我提出max_heap_table_size,但桌子显然仍然“满”。

1 个答案:

答案 0 :(得分:1)

您必须重新创建或更改表以提高表的内存限制。来自manual page for max_heap_table_size

  

设置此变量对任何现有的MEMORY表都没有影响,除非使用CREATE TABLEALTER TABLETRUNCATE TABLE更改的语句重新创建表。

例如:

ALTER TABLE `x` ADD COLUMN `dummy` INT;
ALTER TABLE `x` DROP COLUMN `dummy`;

在运行这些Max_data_length语句后,在SHOW TABLE STATUS LIKE 'x'\GALTER的结果)中查找更改。