Hello world. 志不强者智不达,言不信者行不果.

MySQL常用优化点及流程

SQL语句优化



1.定位问题
使用long_query_time定义慢SQL语句的执行时间,使用slow_query_log_file来定义慢查询的日志文件。

在语句完成之后才能分析。


2.show processlist实时查看SQL语句的执行,线程状态、表锁定等。


3.通过EXPLAIN分析低效的SQL执行计划


4.确定问题并优化

优化数据库对象
(可以理解为优化表)
1.索引

2.数据类型优化
按照第三范式设计,数据长度等

3.拆分表提高访问率
垂直拆分
水平拆分

4.使用中间表调高统计查询效率
report报表

MySQL Server的优化
1.一些配置的问题
show variables like '%log%';

2.通过show status;查看各种语句的执行次数,选用不同的存储引擎等

3.存储引擎的参数设置
innodb_buffer_pool_size 缓存池的大小,直接影响命中率,对查询操作影响较大
innodb_flush_log_at_trx_commit 刷新事务的日志
innodb_log_file_size 日志的大小

存储IO优化


性能的最根本的瓶颈IO(一般都是这样)


应用级别的优化



1. 使用连接池
建立数据库链接的代价比较昂贵

2.使用缓存(减少对MySQL的访问)
增加一个缓冲层(cache层)

3.负载均衡
负载均衡,读写分离等

标签: 数据库MySQL

作者:yuanmouren1hao 分类:数据库/MySql/Oracle/sqlite 浏览:443 评论:0
留言列表
发表评论
来宾的头像

Top