MySql 优化

MySql 优化目标
1 数据库连接超时
2 慢查询
3 线程阻塞,数据无法提交

MySql 优化方向
1 sql及索引
使用MySql慢查询日志对有效率问题的SQL进行监控
show variables like 'slow_query_log'(查看是否启动慢查询日志功能)
show variables like 'log_queries_not_using_indexes' (记录没有使用索引查询语句)
show variables like 'long_query_time';(查看定义多长时间为慢查询)
set global slow_query_log=on;开启慢查询的日志记录
慢查询日志分析工具 pt-query-digest
explain查询SQL的执行计划
max(column) 可以在列上面建索引
count(column) 不要用*号去代替,因为*号会把为null的值也计算进去
所有最好用具体的列去代替
当主查询和子查询是一对多的关系时,需要使用join去优化
如何建立索引列:
1、在where从句,group by 从句,order by 从句,on 从句中出现的列
2、索引字段越小越好
3、离散度大的列放到联合索引的前面
索引的建立会增大维护成本,优化了查询,但是影响写入性能
索引的优化:
相同的索引
冗余的索引
索引的维护及优化工具:pt-duplicate-key-checker 工具检查重复索引
2 数据库表结构
3 系统配置
4 硬件

posted @ 2019-03-18 22:37  孤独思想者  阅读(75)  评论(0编辑  收藏  举报