`
中国爪哇程序员
  • 浏览: 167642 次
  • 性别: Icon_minigender_1
  • 来自: 杭州
社区版块
存档分类
最新评论

第二节mysql优化的重要参数 key_buffer_size table_cache(转发)

阅读更多
先说下tmp_table_size吧:

它规定了内部内存临时表的最大值,每个线程都要分配。(实际起限制作用的是tmp_table_size和max_heap_table_size的最小值。)如果内存临时表超出了限制,MySQL就会自动地把它转化为基于磁盘的MyISAM表,存储在指定的tmpdir目录下,默认:

mysql> show variables like "tmpdir";
+---------------+-------+
| Variable_name | Value |
+---------------+-------+
| tmpdir        | /tmp/ |
+---------------+-------+

优化查询语句的时候,要避免使用临时表,如果实在避免不了的话,要保证这些临时表是存在内存中的。如果需要的话并且你有很多group by语句,并且你有很多内存,增大tmp_table_size(和max_heap_table_size)的值。这个变量不适用与用户创建的内存表(memory table).

你可以比较内部基于磁盘的临时表的总数和创建在内存中的临时表的总数(Created_tmp_disk_tables和Created_tmp_tables),一般的比例关系是:

Created_tmp_disk_tables/Created_tmp_tables<5%

max_heap_table_size

这个变量定义了用户可以创建的内存表(memory table)的大小.这个值用来计算内存表的最大行数值。这个变量支持动态改变,即set @max_heap_table_size=#

,但是对于已经存在的内存表就没有什么用了,除非这个表被重新创建(create table)或者修改(alter table)或者truncate table。服务重启也会设置已经存在的内存表为全局max_heap_table_size的值。

这个变量和tmp_table_size一起限制了内部内存表的大小。

如果想知道更详细的信息,请参考“MySQL是怎样使用内部临时表的?”和“内存存储引擎”

原文:http://www.cnblogs.com/sunss/archive/2011/01/10/1932004.html


---★ 本文转摘自『IT学习者』→ http://www.itlearner.com/article/4813
分享到:
评论

相关推荐

    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表缓冲区中还有空间,那么这个表...

    优化mysql之key_buffer_size设置

    MySQL数据库的优化是一个重要的主题,尤其对于性能敏感的应用而言。`key_buffer_size`是一个...参考MySQL官方文档,了解更多关于`key_buffer_size`以及其他服务器系统变量的信息,有助于更好地理解和优化MySQL的配置。

    mysql read_buffer_size 设置多少合适

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

    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 + ...

    MySQL8.0内存相关参数总结

    8. **sort_buffer_size**、**join_buffer_size**、**read_buffer_size**、**read_rnd_buffer_size**、**binlog_cache_size** 和 **tmp_table_size**: 这些参数控制着不同操作的内存使用,如排序、连接、读取和临时...

    MySQL参数配置优化手册.doc

    key_buffer_size:该参数设置键缓冲区的大小,影响 MySQL 的性能。 table_cache_size:该参数设置表缓存的大小,影响 MySQL 的性能。当该参数生效时,MySQL 会检查表的数量,如果表的数量超过缓存的大小,MySQL 就...

    mysql性能调优参数

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

    mysql优化.pdf

    key_buffer_size选项影响到MyISAM表索引的缓冲区大小;query_cache_size选项用于设置查询结果缓存的大小。其他相关选项包括read_rnd_buffer_size、sort_buffer_size、join_buffer_size等,它们各自对应着不同类型的...

    mysql服务性能优化—my.cnf_my.ini配置说明详解(16G内存)

    优化MySQL服务性能不仅涉及上述参数,还需要关注其他如`key_buffer_size`、`query_cache_size`、`innodb_buffer_pool_size`等参数,以及合适的索引策略、查询优化等。在实际操作中,应根据具体业务场景和硬件条件...

    2G内存的MYSQL数据库服务器优化

    7. **key_buffer_size=256M**:用于存储索引块的缓存大小,提高索引访问速度。 - **建议值**:256M(根据表大小调整) 8. **tmp_table_size=64M**:用于创建临时表的最大内存空间。如果超过了这个值,临时表将会...

    MySQL服务器优化细解

    接下来是MyISAM存储引擎的性能优化,主要涉及Key_buffer_size参数。`Key_buffer_size`决定了MyISAM表索引的缓存大小。通过`show global status like 'key_read%'`可以了解索引读取情况。计算`key_cache_miss_rate`...

    linux 高负载下mysql数据库优化

    三个关键的配置参数包括:`key_buffer_size`, `query_cache_size`, 和 `table_cache`。 1. `key_buffer_size`:只对MyISAM表起作用,用于索引缓冲区。增大此值可以提升索引处理速度,特别是读取速度。理想的设置是...

    mysql完全优化日记

    对于内存优化,有三个核心参数需要调整:`key_buffer_size`, `query_cache_size`, 和 `table_cache`。 `key_buffer_size` 是 MyISAM 表的索引缓冲区大小,直接影响索引处理速度。合理的设置可以显著提高读取速度。...

    MySQL参数说明

    * key_buffer_size:MyISAM 引擎的最关键的优化参数之一,索引块用的缓冲区大小,所有的连接程序线程共用 * key_cache_block_size:每一个索引 block 的大小,默认 1024 字节,从 4.1.1 后才出现这个参数,原来都是...

    MySQL数据库服务器优化详细

    - **`bulk_insert_buffer_size`**:批量插入操作的缓冲区大小,对大量数据导入场景尤为重要。 - **`myisam_sort_buffer_size`**:MyISAM表优化或修复时使用的缓冲区大小,影响操作速度。 #### 总结 MySQL数据库...

    mysql_my.ini_优化

    4. **key_buffer_size**:这是MyISAM存储引擎用于索引的缓冲区大小。虽然InnoDB通常被视为更优选择,但仍有部分表可能使用MyISAM。根据服务器内存大小,可以适当增加此值,例如从8M提升到400MB。 5. **max_...

Global site tag (gtag.js) - Google Analytics