In this Document
|
|
Symptoms |
|
|
Cause |
|
|
Solution |
|
|
References |
When creating, modifying or altering the table engine to MEMORY, you get this error even if max_heap_table_size can host the data:
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.
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.
来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/25099483/viewspace-2113514/ ,如需转载,请注明出处,否则将追究法律责任。