mysql 参数 key_buffer_size

  • key_buffer_size

    命令行格式--key-buffer-size=#
    系统变量key_buffer_size
    范围全球的
    动态的是的
    类型整数
    默认值8388608
    最小值8
    最大值(64 位平台)OS_PER_PROCESS_LIMIT
    最大值(32 位平台)4294967295

    MyISAM表的 索引块被缓冲并由所有线程共享。 key_buffer_size是用于索引块的缓冲区的大小。密钥缓冲区也称为密钥缓存。

    key_buffer_size在 32 位平台上 允许的最大设置为 4GB-1。64 位平台允许使用更大的值。有效的最大大小可能更小,具体取决于操作系统或硬件平台施加的可用物理 RAM 和每个进程的 RAM 限制。此变量的值表示请求的内存量。在内部,服务器分配尽可能多的内存,最多可达此数量,但实际分配可能更少。

    您可以增加该值以获得更好的所有读取和多次写入的索引处理;在主要功能是使用 MySQL 运行 MySQL 的系统上 MyISAM存储引擎,机器总内存的 25% 是此变量的可接受值。但是,您应该注意,如果您将该值设置得太大(例如,超过机器总内存的 50%),您的系统可能会开始分页并变得极其缓慢。这是因为 MySQL 依赖操作系统对数据读取进行文件系统缓存,所以必须为文件系统缓存留出一些空间。您还应该考虑除 MyISAM.

    为了在同时写入多行时获得更高的速度,请使用LOCK TABLES. 请参阅 第 8.2.4.1 节,“优化 INSERT 语句”

    您可以通过发出检查键值缓冲区的性能 SHOW STATUS声明和检查 Key_read_requests, Key_reads, Key_write_requests,和 Key_writes状态变量。(请参阅第 13.7.5 节,“SHOW 语句”。)该 Key_reads/Key_read_requests比率通常应小于 0.01。Key_writes/Key_write_requests如果您主要使用更新和删除,则该比率通常接近 1,但如果您倾向于同时执行影响多行的更新,或者使用DELAY_KEY_WRITE表选项,则该 比率可能会小得多 。

    可以key_buffer_size结合 Key_blocks_unused状态变量和缓冲区块大小(可从key_cache_block_size 系统变量获得)来确定正在使用的密钥缓冲区的比例 :

    <span style="background-color:#f8f8f8"><span style="color:#000000"><code class="language-simple">1 <span style="color:#a67f59">-</span> <span style="color:#999999">(</span><span style="color:#999999">(</span>Key_blocks_unused <span style="color:#a67f59">*</span> key_cache_block_size<span style="color:#999999">)</span> <span style="color:#a67f59">/</span> key_buffer_size<span style="color:#999999">)</span></code></span></span>

    该值是一个近似值,因为密钥缓冲区中的一些空间是在内部为管理结构分配的。影响这些结构的开销量的因素包括块大小和指针大小。随着块大小的增加,因开销而丢失的密钥缓冲区的百分比趋于降低。较大的块导致较少数量的读取操作(因为每次读取获得更多的键),但相反,未检查的键的读取会增加(如果不是块中的所有键都与查询相关)。

    可以创建多个MyISAM 密钥缓存。4GB 的大小限制单独应用于每个缓存,而不是作为一个组。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值