mysql - 如何设置mysql最大临时内存表大小

标签 mysql temp-tables

我通过以下代码使用临时表:

CREATE TEMPORARY TABLE temp (ID INT(11), Actress varchar(200)) 
ENGINE=MEMORY
SELECT ID, Actress FROM actress_titles order by id;

但我收到下一个错误:错误代码 1114,表“temp”已满。 我还尝试通过执行以下代码来增加临时表大小:

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

但是当我读取变量时,大小是 99999744 字节

(select @@max_heap_table_size;)

所以,我仍然收到 1114 错误...

如何将临时表的最大大小增加到超过 99mb?

最佳答案

必须执行以下代码来设置变量:

SET @@tmp_table_size = 1024 * 1024 * 1024 * 5;
SET @@max_heap_table_size = 1024 * 1024 * 1024 * 5;

关于mysql - 如何设置mysql最大临时内存表大小,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33610144/

相关文章:

MySQL:如何从两个不同的字段创建别名?

php - 从字段php mysql中拆分和提取数据

sql - 无法在 View 定义 PostgreSQL 中创建临时表

在表值函数中使用#table/Temp 表的 SQL

php - 全文搜索是不够的,需要解决方法,有什么想法吗?

php - 使用 dbForge 插入查询未插入默认值

mysql - 在 MySQL 中使用来自 select 的索引创建一个临时表

sql - 尝试在单个查询中创建多个临时表

php - 如何解决 laravel 迁移错误 "General error: 1005 Can' t 创建表”

mysql - 如果我不删除临时 MEMORY 表,它会持续多长时间 (MySQL)