MySQL 总集(先不分)

2017-11-10  本文已影响32人  只记录自己的声音

show statusshow session status

查看当前MySQL服务器连接的会话状态变量信息;

show global status

查看全局状态变量;

flush status

初始化当前会话状态变量


show variables

查看全局系统变量、会话系统变量和静态变量等;


MySQL 缓存:

按缓存读写功能不同划分

按生存周期长短划分

按存储引擎实现划分


超时

show variables like '%timeout%'

查看超时相关变量配置

连接超时

InnoDB 锁等待超时

元数据锁超时 metadata locks

复制连接超时

MyISAM 表的延迟插入超时


MySQL 连接的优化

连接参数

show variables like '%connect%'

查询MySQL服务的连接参数信息

连接状态

show status like '%connections%'

查看当前实例连接MySQL服务的状态信息

连接线程参数

show variables like 'thread%'

查看MySQL连接线程参数信息

连接状态信息

show status like 'Thread%'

查看连接线程的状态信息

连接池的连接命中率 = (Connections - Threads_created)/ connections * 100%

该值较低时,需要增加 thread_cache_size。

连接请求堆栈

show variables like 'back_log'

查询堆栈中的连接请求(因连接数过大而被塞入)

连接异常

show status like 'Aborted%'

查看连接异常的状态信息

其他

show status like 'Slow%'

查看其他链接状态

show status like 'Connection_error%'

查看连接错误的状态统计信息


缓存的优化

show variables like 'host_cache_size'

查询主机名缓存大小

show variables like 'stored_program_cache'

查看MySQL为每个会话提供的存储程序缓存个数上限

show variables like 'innodb_ft_cache_size'

查询InnoDB 全文索引缓存的大小

查询缓存 Query Cache

show variables like '%query_cache%'

查询有关查询缓存的参数设置

查询缓存的命中率

set global query_cache_size = 102760448

开启缓存查询,将其内存大小设置为98M

show status like 'Qcache%'

获取当前实例的查询缓存状态,从而可以计算出当前缓存查询的命中率,继而确定 query_cache_size 的设置是否合理

结果集缓存

select 语句的结果集会暂存在结果集缓存中,结果集缓存的初始大小由 net_buffer_size 定义(默认16KB),如果 select语句的结果集大小超过初始大小,则会自动扩容,但不会超过 max_allowed_packet 的参数值。select 语句执行成功后,结果集缓存空间会“瘦身”到初始大小。

优化表结构


SQL语句优化

了解 SQL 的执行频率

show status like 'queries'

执行的 SQL 语句的数量,不统计 com_ping、com_statistics

show global status like 'Com_%'

查看MySQL服务执行各种SQL语句的数量

可以通过上面的信息了解当前应用偏向于 OLTP 还是 OLAP。

可以通过上面信息,了解到rollback从而推断程序中存在某些问题。

数据处理状态信息

show global status like 'handler%'

执行次数查询

上一篇下一篇

猜你喜欢

热点阅读