首页 > 其他 > 详细

key_buffer_size

时间:2021-07-02 00:49:28      阅读:28      评论:0      收藏:0      [点我收藏+]

# Size of the Key Buffer, used to cache index blocks for MyISAM tables.
# Do not set it larger than 30% of your available memory, as some memory
# is also required by the OS to cache rows. Even if you‘re not using
# MyISAM tables, you should still set it to 8-64M as it will also be
# used for internal temporary disk tables.
key_buffer_size=8M

 

MyISAM最为关键的一项配置。
有许多MyISAM表时可以为键缓存分配多一点内存,但不应超出OS保留缓存的30%,MyISAM自身只缓存索引,不缓存数据,数据的读取依赖操作系统层面的缓存。

默认情况下MyISAM把索引都保存到默认键缓存,但也可以设置多个键缓存。

一些操作如group by等会使用到内部临时表,5.7之前内部临时表默认使用MyISAM,5.7之后使用Innodb。临时表的引擎可以通过internal_tmp_disk_storage_engine指定。
但即使存储引擎不使用MyISAM,还是应设置8-64M大小的键缓存。


扩展:使用Innodb做临时表引擎时,临时表保存于共享表空间,并且由于此空间的特性,不会动态释放。当有很多并发Session使用了临时表,会大量占用磁盘空间。详情见临时表。(临时表保存于内存,超过阈值会写入磁盘)

key_buffer_size

原文:https://www.cnblogs.com/GGGong/p/14960015.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!