MySQL中的变量积累(持续更新)

有关MySQL中变量的详细解析请看我的另一篇博客:
MySQL中变量的详解

1.字符集相关变量

show variables like "%char%";

character_set_client//为客户端编码方式;
character_set_connection//为建立连接使用的编码;
character_set_database//数据库的编码;
character_set_results//结果集的编码;
character_set_server//数据库服务器的编码;
character_set_filesystem//文件系统的编码格式;
character_set_system//数据库系统使用的编码格式;

2.缓冲池相关变量

show variables like  %buffer_pool%;

innodb_buffer_pool_size
//配置缓冲池的大小,在内存允许的情况下,DBA往往会建议调大这个参数,越多数据和索引放到内存里,数据库的性能会越好。
innodb_old_blocks_pct
//老生代占整个LRU链长度的比例,默认是37,即整个LRU中新生代与老生代长度比例是63:37。如果把这个参数设为100,就退化为普通LRU了。
innodb_old_blocks_time
//老生代停留时间窗口,单位是毫秒,默认是1000,即同时满足“被访问”与“在老生代停留时间超过1秒”两个条件,才会被插入到新生代头部。

3.查询缓存相关的变量

show global status like '%query_cache%';
query_cache_min_res_unit//查询缓存中内存块的最小分配单位,默认为4K
query_cache_limit//单个查询结果能缓存的最大值,默认为1M,对于查询结果过大而无法缓存的语句,建议使用sql_no_cache
query_cache_size//查询缓存总共可用的内存空间;单位为字节,必须是1024整数倍
query_cache_wlock_invalidate//如果表被其它session锁定,是否可以从查询缓存中返回结果,默认值为off,on表示不允许
query_cache_type//是否开启缓存功能,on,off,demand

show global status like 'Qcache%';
Qcache_free_blocks//处于空闲状态query cache中内存的block数量
Qcache_total_blocks//query cache中总的block,当Qcache_free_blocks相对此值较大时,可能有内存碎片,执行FLUSH QUERY CACHE清理碎片
Qcache_free_memory//处于空闲状态的query cache内存总量
Qcache_hits//命中次数
Qcache_inserts//向query cache中插入新的query cache的次数,即未命中的次数
Qcache_lowmem_prunes//记录因为内存不足而被移出缓存的查询数
Qcache_not_cached//没有被cache的sql数,包括无法被cache的sql以及由于query_cache_type设置的不会被cache的sql语句
Qcache_queries_in_cache//在query cache中的sql数量

重要指标的计算:
(1)缓存中内存块的最小分配单位(query_cache_min_res_unit)
(query_chche_size - Qcache_free_memory) / Qcache_queries_in_cache
(2)缓存命中率
Qcache_hits / (Qcache_hits + Qcache_inserts) * 100%
(3)缓存内存使用率
(query_cache_size - Qcache_free_memory) / query_cache_size * 100%

4.SQL优化相关变量

show variables like "%pro%";
profiling

show profiles;//查询所有的查询信息
SHOW PROFILE ... FOR QUERY QID;//通过指定查询ID来查询整个执行过程中多种资源的消耗情况,如 CPU,IO,IPC,SWAP 等,以及发生的 PAGE FAULTS,CONTEXT SWITCHE 等等,同时还能得到该 Query 执行过程中 MySQL 所调用的各个函数在源文件中的位置。
show profile cpu,block io for query QID;//获取 CPU 和 Block IO 的消耗

5.查询DML语句执行次数

show [global] status like 'com_dml';

show [global] status like 'com_select';//查看select语句的执行数
show [global] status like 'com_insert';//查看insert语句的执行数
show [global] status like 'com_update';//查看update语句的执行数
show [global] status like 'com_delete';//查看delete语句的执行数

6.查询线程相关变量

show status like '%thread%';

Delayed_insert_threads
Performance_schema_thread_classes_lost
Performance_schema_thread_instances_lost
Slow_launch_threads//查看创建时间超过slow_launch_time秒的线程数
Threads_cached//线程缓存内的线程的数量
Threads_connected//当前打开的连接的数量
Threads_created//创建用来处理连接的线程数。如果Threads_created较大,你可能要增加thread_cache_size值。
Threads_running//激活的(非睡眠状态)线程数

7.查询MySQL连接数相关变量

show status like 'connections';//查看试图连接到MySQL(不管是否连接成功)的连接数
show variables like '%connections%';//连接数
show variables like '%max_connections%'; //最大连接数
show full processlist;//当前连接数

8.查询slow相关变量

show status like '%slow%';
Slow_launch_threads//查看创建时间超过slow_launch_time秒的线程数。
Slow_queries//查看查询时间超过long_query_time秒的查询的个数。

show variables like '%slow%';
log_slow_admin_statements OFF
log_slow_slave_statements OFF
slow_launch_time 2
slow_query_log OFF //慢查询开关
slow_query_log_file /var/lib/mysql/xxx.log//慢查询日志输出文件的位置

9.查询日志相关的变量

show variables like '%log%';
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值