MySQL内存相关的主要变量 _MySQL, Oracle及数据库讨论区_Weblogic技术|Tuxedo技术|中间件技术|Oracle论坛|JAVA论坛|Linux/Unix技术|hadoop论坛_联动北方技术论坛  
网站首页 | 关于我们 | 服务中心 | 经验交流 | 公司荣誉 | 成功案例 | 合作伙伴 | 联系我们 |
联动北方-国内领先的云技术服务提供商
»  游客             当前位置:  论坛首页 »  自由讨论区 »  MySQL, Oracle及数据库讨论区 »
总帖数
1
每页帖数
101/1页1
返回列表
0
发起投票  发起投票 发新帖子
查看: 1817 | 回复: 0   主题: MySQL内存相关的主要变量         下一篇 
tangbao@.@
注册用户
等级:新兵
经验:67
发帖:62
精华:0
注册:2011-7-21
状态:离线
发送短消息息给tangbao@.@ 加好友    发送短消息息给tangbao@.@ 发消息
发表于: IP:您无权察看 2015-8-24 14:26:08 | [全部帖] [楼主帖] 楼主

一、查询缓存

1. 查询缓存命中率计算公式:

Qcache_hits/(Qcache_hits + Com_select)


2. 状态变量

Qcache_hits


查询缓存命中数,即可以从查询缓存中直接返回结果的次数

Qcache_not_cached


不可缓存查询数,current_date等不确定函数或者查询结果大于query_cache_limit使得查询不可缓存

Qcahce_inserts


被加入缓存的查询数,包括新查询或缓存失效后重新被缓存的查询

Qcache_free_blocks


查询缓存中空闲块数,如果此值过高,说明缓存碎片严重

Qcache_lowmem_prunes


因缓存不足导致的缓存失效数

Com_*


Com_delete、Com_insert、Com_update等数据修改操作数,可导致缓存失效

3. 系统变量

query_cache_limit


限制可缓存查询的字节数,查询结果超过此值的查询不可缓存

query_cache_size


为查询缓存分配的总字节数

query_cache_type


0禁用缓存,但并不回收查询缓存区;1启用缓存,除了以 SELECT SQL_NO_CACHE 开头的查询;2只对以 SELECT SQL_CACHE 开头的查询启用缓存

二、MyISAM 键缓存

1. 键缓存命中率:

100 - ( ( Key_reads * 100 ) / Key_read_requests )


2. 键缓存使用百分比:

100 - ( ( Key_blocks_unused * Key_cache_block_size ) * 100 / Key_buffer_size )


3. 状态变量

Key_blocks_unused


未使用的键缓存块数

Key_reads


从磁盘读取键块的次数

Key_read_requests


请求从键缓存读取键块的次数

4. 系统变量

key_buffer_size


键缓存的字节数,最大4G

key_cache_block_size


一个键缓存块的字节数


三、InnoDB 缓冲池

1. 系统变量

innodb_max_dirty_pages_pct


脏页所占缓冲池的百分比,InnoDB 主线程把缓冲池里的脏页写回磁盘,保证脏页所占比例不超过此值

innodb_buffer_pool_size


InnoDB 内存缓冲池字节数


四、线程缓存

1. 状态变量

Threads_created


为连接建立的线程数

2. 系统变量

threads_cache_size


服务器可缓存的线程数。MySQL 只有在连接关闭的时候才会把线程加入缓存,也只有在创建新连接的时候才从缓存中移除线程


五、表缓存

1. 系统变量

table_definition_cache


可以缓存的表定义数,此值是全局的,可以在所有连接中共享

table_open_cache


打开表的缓存数,此值是基于每个线程、每个使用的表。当不同的查询同时访问某个表,或者某个查询在子查询或自连接中引用了一个表多次,MySQL 就会认为表被打开了多次。增加此值会要求更多的文件描述符

--转自 北京联动北方科技有限公司




赞(0)    操作        顶端 
总帖数
1
每页帖数
101/1页1
返回列表
发新帖子
请输入验证码: 点击刷新验证码
您需要登录后才可以回帖 登录 | 注册
技术讨论