`
onedada
  • 浏览: 103305 次
  • 性别: Icon_minigender_1
  • 来自: 宁波
社区版块
存档分类
最新评论

mysql Key_buffer_size参数的设置

 
阅读更多

本文转载自:   http://database.51cto.com/art/201010/229939.htm

 

 

在mysql数据库中,mysql key_buffer_size是对MyISAM表性能影响最大的一个参数,下面就将对mysql Key_buffer_size参数的设置进行详细介绍,供您参考。

下面一台以MyISAM为主要存储引擎服务器的配置:
mysql> show variables like 'key_buffer_size';
+-----------------+------------+
| Variable_name | Value |
+-----------------+------------+
| key_buffer_size | 536870912 |
+-----------------+------------+
分配了512MB内存给mysql key_buffer_size,我们再看一下key_buffer_size的使用情况:
mysql> show global status like 'key_read%';
+------------------------+-------------+
| Variable_name | Value |
+------------------------+-------------+
| Key_read_requests | 27813678764 |
| Key_reads | 6798830 |
+------------------------+-------------+
一共有27813678764个索引读取请求,有6798830个请求在内存中没有找到直接从硬盘读取索引,计算索引未命中缓存的概率:

key_cache_miss_rate = Key_reads / Key_read_requests * 100%

比如上面的数据,key_cache_miss_rate为0.0244%,4000个索引读取请求才有一个直接读硬盘,已经很BT 了,key_cache_miss_rate在0.1%以下都很好(每1000个请求有一个直接读硬盘),如果key_cache_miss_rate在 0.01%以下的话,key_buffer_size分配的过多,可以适当减少。
MySQL服务器还提供了key_blocks_*参数:
mysql> show global status like 'key_blocks_u%';
+------------------------+-------------+
| Variable_name | Value |
+------------------------+-------------+
| Key_blocks_unused | 0 |
| Key_blocks_used | 413543 |
+------------------------+-------------+
Key_blocks_unused 表示未使用的缓存簇(blocks)数,Key_blocks_used表示曾经用到的最大的blocks数,比如这台服务器,所有的缓存都用到了,要么 增加key_buffer_size,要么就是过渡索引了,把缓存占满了。比较理想的设置:
Key_blocks_used / (Key_blocks_unused + Key_blocks_used) * 100% ≈ 80%

 

 

 

 

 

分享到:
评论

相关推荐

    mysql Key_buffer_size参数的优化设置

    MySQL数据库的`Key_buffer_size`参数是针对MyISAM存储引擎的一个重要配置,它直接影响到MyISAM表的索引处理性能。MyISAM引擎在MySQL中被广泛使用,尤其在那些读取操作远多于写入操作的场景下,因为它的读取速度相对...

    优化mysql之key_buffer_size设置

    然而,需要注意的是,`key_buffer_size`只对MyISAM表起作用,即便你并不直接使用MyISAM表,MySQL在处理内部临时磁盘表时依然会用到这个设置。`created_tmp_disk_tables`状态变量可以帮助你了解是否频繁创建磁盘上的...

    mysql read_buffer_size 设置多少合适

    MySQL中的`read_buffer_size`是一个重要的服务器配置参数,它直接影响到数据库在处理顺序扫描查询时的性能。这个参数定义了当MySQL执行顺序读取操作,例如从磁盘读取数据文件时,用于缓冲数据的内存大小。合适的设置...

    mysql优化的重要参数 key_buffer_size table_cache

    对于使用Myisam存储引擎来说,主要有key_buffer_size和table_cache两个参数。对于InnoDB引擎来说主要还是以innodb_开始的参数,也很好辨认。 查看MySQL参数,可以使用show variables和show status命令查看,前者查看...

    Mysql优化调优中两个重要参数table_cache和key_buffer

    本文根据作者的一点经验,讨论了Mysql服务器优化中两个非常重要的参数,分别是table_cache,key_buffer_size。 table_cache指示表高速缓存的大小。当Mysql访问一个表时,如果在Mysql表缓冲区中还有空间,那么这个表...

    Max-Liuhu#keeplearning#mysql配置文件之线程并发优化innodb_buffer_pool_size1

    MyISAM可以在默认的 key_buffer_size 设置下运行的可以,然而Innodb在默认的 innodb_buffer_pool_size 设置下却跟

    MySQL不停地自动重启的解决方法

    比如,增大`key_buffer_size`、`read_buffer_size`和`sort_buffer_size`等内存参数,或者限制`max_connections`和`max_threads`,防止过多的连接和线程消耗资源。 5. **检查数据一致性**: 使用`mysqldump --all-...

    MySQL_OCP5.7带讲解.pdf

    key_buffer_size是MySQL服务器中的一个重要配置项,它定义了用于缓存MyISAM表索引块的内存大小。这个内存区域也称为键缓存或keycache。 - key_buffer_size仅对MyISAM表的索引块进行缓存,对InnoDB表的索引块不进行...

    MySQL8.0内存相关参数总结

    6. **key_buffer_size**: 对于MyISAM存储引擎,这是用来缓存索引的关键参数。在InnoDB为主的情况下,MyISAM引擎的使用较少,但仍需关注。 7. **thread_stack**: 每个线程的栈大小,通常不需要调整,除非遇到...

    MySQL优化中的内存计算公式

    mysql_used_mem = key_buffer_size + query_cache_size + tmp_table_size + innodb_buffer_pool_size + innodb_additional_mem_pool_size + innodb_log_buffer_size + max_connections * ( read_buffer_size + ...

    mysql性能调优参数

    2. Key_buffer_size:这个参数指定用于索引的缓冲区大小,增加它可得到更好处理的索引。 3. Query_cache_limit:这个参数指定单个查询能够使用的缓冲区大小,默认 1M。 日志参数 1. Expire_logs_days:这个参数...

    MYSQL数据库技术分享.ppt

    在MYSQL数据库中,常用的参数包括innodb_buffer_pool_size、innodb_additional_mem_pool_size、innodb_log_buffer_size、key_buffer_size等。 innodb_buffer_pool_size参数用于设置InnoDB缓存表和索引数据的内存...

    MySQL DBA性能优化文档每天必看

    Key_buffer_size 是对 MyISAM 表性能影响最大的一个参数。可以使用 show variables like 'key_buffer_size' 语句来查看 key_buffer_size 的值。然后,可以使用 show global status like 'key_read%' 语句来查看 key_...

    MySQL8.0优化Hint-在SQL中修改会话变量.pdf

    `mysql> select /*+ set_var(optimizer_switch='index_merge=off') set_var(join_buffer_size=4M) */ c_id from customer limit 1;` 这个新特性可以在查询语句中直接修改会话变量,不需要再进行多个步骤的操作。 ...

Global site tag (gtag.js) - Google Analytics