更改MySQL内存表的存储大小 作者:七棵菜 日期:2022-11-30 栏目:计算机分类:90 人气:498 MEMORY表内容存储在内存中,它会作为动态查询队列创建内部临时表的共享介质,但是两个类型表的不同在于MEMORY表不会遇到存储转换,而内部表则会: 1. MEMORY表不会转换为磁盘表,而内部临时表如果太大会自动转换为磁盘表。 2. MEMORY表最大值受系统变量 max_heap_table_size 限制,默认为16MB,要改变MEMORY表大小限制,需要改变max_heap_table_size 的值。该值在 CREATE TABLE 时生效并伴随表的生命周期,(当你使用 ALTER TABLE 或 TRUNCATE TABLE命令时,表的最大限制将改变,或重启MYSQL服务时, 所有已存在的MEMORY表的最大限制将使用max_heap_table_size 的值重置。) 修改`max_heap_table_size`的三种方法 - 启动选项中修改 ``` 启动mysql的时候加参数 -O max_heap_table_size=32M 。 ``` - 修改my.cnf ``` 在[mysqld]的段中 增加 max_heap_table_size = 32M ``` - 在mysql客户端工具中修改 ``` mysql> set max_heap_table_size=32777216; Query OK, 0 rows affected (0.00 sec) mysql> show variables like '%heap%'; +---------------------+----------+ | Variable_name | Value | +---------------------+----------+ | max_heap_table_size | 32777216 | +---------------------+----------+ 1 row in set (0.00 sec) ``` #### 鸣谢 - (mysql官网)[https://dev.mysql.com/doc/refman/5.7/en/server-system-variables.html#sysvar_max_heap_table_size] - (吴剑)[https://www.cnblogs.com/wu-jian/archive/2011/11/29/2267795.html] - (对你说)[http://blog.chinaunix.net/uid-11327712-id-32413.html?k=1] 标签: mysql memory 内存表 上一篇:如何使用mvn命令导入依赖 下一篇:巧用session_write_close()解决session死锁的问题 随便看看 2022-11-30 配置apache, nginx 支持 angular2+ 等单网页项目路由刷新 2023-08-16 nginx配置angular项目部署在项目子目录 2022-11-30 设置 .gitignore 不忽略文件夹的规则 2022-11-30 git查看某文件最近的修改内容 2022-11-30 实现 git 切换分支后代码互不影响 留言