ITPub博客

首页 > 数据库 > MySQL > alter table engine=memory ERROR 1114

alter table engine=memory ERROR 1114

MySQL 作者:psufnxk2000 时间:2016-06-03 15:31:39 0 删除 编辑
alter table  engine=memory   ERROR 1114

ERROR 1114 (HY000): The table '#sql-xxx' is full Using the MEMORY Engine (Doc ID 1622425.1)


In this Document


Symptoms

Cause

Solution

References


APPLIES TO:

MySQL Server - Version 5.6 and later
Information in this document applies to any platform.

SYMPTOMS

When creating, modifying or altering the table engine to MEMORY, you get this error even if max_heap_table_size can host the data:

ERROR 1114 (HY000): The table '#sql-336e_21e' is full

CAUSE

The MEMORY engine can allocate more memory than its InnoDB or MyISAM equivalent.

If the problematic table contains long varchar, the MEMORY engine will allocate fixed length strings so it can take a lot of space in memory, even more when the utf8 or utf8mb4 character set is used.

SOLUTION

Increase max_heap_table to an even larger value.

Consider using InnoDB with a large buffer pool, so that in practice, the data is in memory and can be accessed concurrently unlike MEMORY table data. There is very little reason to use the MEMORY engine nowadays.

REFERENCES

http://dev.mysql.com/doc/refman/5.6/en/server-system-variables.html#sysvar_max_heap_table_size 
http://dev.mysql.com/doc/refman/5.6/en/memory-storage-engine.html 


转载请注明源出处 
QQ 273002188 欢迎一起学习 
QQ 群 236941212 
oracle,mysql,PG 相互交流

来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/25099483/viewspace-2113514/ ,如需转载,请注明出处,否则将追究法律责任。

上一篇: mysql proxy安装
请登录后发表评论 登录
全部评论

注册时间:2011-05-31

  • 博文量
    215
  • 访问量
    700278