2012-03-03 26 views

回答

10

我很確定max_heap_table_size默認設置爲16MB左右。所以,我會首先檢查它被設置爲通過運行一個查詢:

select @@max_heap_table_size;

然後你就可以運行查詢來設置更高:

set @@max_heap_table_size=NUMBER_OF_BYTES;

4

如果你不能改變你堆值試試這個

這個加入到MySQL的/ etc/my.cnf中

[mysqld] 
tmp_table_size=2G 
max_heap_table_size=2G 

這將覆蓋mysql重新啓動。到現在設置mysqld中的這些值而不需要重新啓動運行這個命令:

SET GLOBAL tmp_table_size = 1024 * 1024 * 1024 * 2; 
SET GLOBAL max_heap_table_size = 1024 * 1024 * 1024 * 2; 

如果您正在使用

SELECT @@max_heap_table_size; 

檢查上述變量,你可能會發現,他們似乎沒有改變以下的SET GLOBAL...聲明。這是因爲這些設置僅適用於到服務器的新連接。建立一個新的連接,你會看到值的更新。