2015-09-07 59 views
0

当我创建一个MEMORY表是这样的:
MariaDB max_heap_table_size是动态分配的吗?

CREATE TABLE test(id INT, UNIQUE(id)) ENGINE = MEMORY; 

,我已经设置:max_heap_table_size = 1G(因为我要插入的数据,至少有500MB表),我创建的那一刻表中,MySQL/MariaDB预先分配1GB的内存,还是(如其名称所示)为可以用于该用户创建的表的数据的内存量设置上限?

回答

1

max_heap_table_size系统变量设置MEMORY表的最大大小限制。

了解更多详情,请参阅The MEMORY (HEAP) Storage Engine

而且同样是在MariaDB的文件中提到MariaDB MEMORY Storage Engine

+0

这不回答我的问题(我已阅读文档):是max_heap_table_size内存预分配或没有时创建这样的表?这就是我想要确保的...... –

+0

在文档中,声明内存表可以增长,但不能超出max_heap_table_size值。这意味着内存是动态分配的,并且max_heap_table_size值是表 – Dhirendra

+0

的最大大小限制好的感谢您的验证! –