mysql % [_MySQL 实践

一、命令操作查询命令

查看数据库连接信息:show global status like 'Thread%'

非交互式超时时间(jdbc):show global variables like 'wait_timeout'

交互式超时时间(数据库连接工具):show global variables like 'interactive_timeout'

数据目录:show variables like 'datadir'

查看引擎服务状态:show engine innodb status;

innodb存储引擎日志信息:show variables like 'innodb_log%'

undo log信息:show variables like '%undo%'

buffer pool信息:show variables like '%innodb_buffer_pool%'

25表示25%,占buffer pool的比例,写多读少、大部分是非唯一索引可调大

show variables like 'innodb_change_buffer_max_size'

show variables like 'innodb_flush_log_at_trx_commit'

查询列散列度:select count(distinct(列名))/count(*) from 表名

查询数据库表的数据量与索引量大小

select

concat(round(sum(data_length/1024/1024),2),'MB') AS data_len,

concat(round(sum(index_length/1024/1024),2),'MB') AS index_len

from infomation.schema.tables

where table_schema='数据库名' and table_name='表名'

显示服务端线程情况

mysql>show full processlist

mysql>show blobal status;

mysql>show blobal status like 'com_select'

默认最大连接数151:show variables like 'max_connections'

客户端的未活跃连接超时时间:show variables like 'wait_timeout'

查看慢查询信息:show variables like 'slow_query%'

2. 操作命令

set variables key=''默认是会话级别

set global variables key=''设置全局级别

set optimizer_switch='index_confition_pushdown=on'默认开启索引条件下推

set @@global.slow_query_log=1 开启慢查询日志

二、优化总结分析性能指标

查看服务端线程情况

服务连接数

增加服务端可用连接数

减少客户端使用连接数

是否使用连接池

客户端的未活跃连接超时时间设置

是否监控慢查询日志

使用explain查看执行计划

2. 优化层面

sql和索引的优化

表结构字段长度与存储引擎的优化

架构优化

操作系统、mysql配置参数

硬件

3. 实现方案

服务降级

服务分流

按月查询

数据时间维度拆分

横向拆分宽表

参考减少请求来设计表结构

字段冗余

字段长度合理设置

设置缓存

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值