mysql的myisam引擎性能优化key_buffer_size大小设置

myisam引擎的查询性能与索引缓存大小有直接的关系。

1. 查看默认的索引缓冲区大小key_buffer_size

mysql> show variables like 'key_buffer%';
+-----------------+---------+
| Variable_name   | Value   |
+-----------------+---------+
| key_buffer_size | 8388608 |
+-----------------+---------+
1 row in set

计算一下,8388608 / 1024 / 1024 = 8M,这个值实在是太小了。

2. 动态调整(重启后需要再次设置,否则会失效)

mysql> set global key_buffer_size=512*1024*1024;
Query OK, 0 rows affected

mysql> show variables like 'key_buffer%';
+-----------------+-----------+
| Variable_name   | Value     |
+-----------------+-----------+
| key_buffer_size | 536870912 |
+-----------------+-----------+
1 row in set

可以看到设置生效了。 

配置文件my.cnf中设置后,重启生效。
[mysqld]
key_buffer_size=128M

3. 查看缓冲区读取情况

mysql> show global status like 'key_read%';
+-------------------+-------+
| Variable_name     | Value |
+-------------------+-------+
| Key_read_requests | 63922 |
| Key_reads         | 5384  |
+-------------------+-------+
2 rows in set

参数说明,

Key_read_requests #表示从缓存中读取索引的次数

Key_reads #表示从磁盘中读取索引的次数

因为当前没有执行查询操作,所以索引没有使用。

4. 查看缓冲区写入情况

mysql> show global status like 'key_write%';
+--------------------+-------+
| Variable_name      | Value |
+--------------------+-------+
| Key_write_requests | 0     |
| Key_writes         | 0     |
+--------------------+-------+

Key_write_requests  #写入到key buffer的请求数

Key_writes #写入到磁盘的请求数

5. 查看缓冲区使用情况

mysql> show global status like 'key_blocks_u%';
+-------------------+--------+
| Variable_name     | Value  |
+-------------------+--------+
| Key_blocks_unused | 428660 |
| Key_blocks_used   | 24     |
+-------------------+--------+

可以看到索引块的使用了24,未使用428660。从未使用的缓冲区大小,可以看出是否需要扩大缓冲区的大小。

通常需要程序运行一段时间以后,再来看未使用的缓冲区块数,这样才有实际的参考意义。

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值