可以从以下几个方面对MySQL进行优化,
效果: SQL和索引 > 数据库表结构 > 系统配置 > 硬件
但成本从低到高。
1.SQL和索引优化
1.1SQL
1.1.1优化SQL语句的一般步骤:
①通过show status 命令了解各种SQL的执行效率,
show [session | global] status;
可以根据需要加上参数来显示session级(当前连接,默认)和global级(自数据库上次启动至今)的统计结果。
eg:
show status like 'Com_%';
显示当前连接所有统计参数的值。
Com_xxx表示每个xxx语句执行的次数,通常需要注意的是下面几个参数:
Com_select/Com_insert/Com_update/Com_delte。
②定位执行效率较低的SQL语句
·通过show processlist命令实时查看当前SQL的执行情况;
·通过慢查询日志(结束以后记录)定位出现的问题。
③通过explain 或 desc分析低效SQL的执行计划
select_type(simple/primary/union/subquery)/table/type/possible_keys/key/key_len/rows/extra
④通过show profile 分析SQL
show profile 能帮我们了解时间都耗费到哪里去了。
MySQL从5.0.37版本开始增加了show profile和show profiles语句的支持,
通过secect @have_profiling命令能够看到当前MySQL是否支持profile,
通过show profiles我们能够更清楚了解SQL执行的过程,
通
MySQL性能优化全方位指南

本文总结了MySQL性能优化的各种方案,从SQL和索引优化、数据库对象调整、存储引擎优化、MySQL服务器设置、磁盘I/O优化到应用程序层面的改进。SQL优化包括优化SQL语句、使用索引等,索引优化涉及B-Tree、Hash等多种类型。同时,讨论了存储引擎的选择、字段数据类型的适配、表的拆分策略以及内存和并发参数的调整。硬件层面,推荐使用RAID、调整I/O调度算法和利用NUMA架构优化。应用优化建议使用连接池、减少不必要的MySQL访问并增加缓存层。
最低0.47元/天 解锁文章
6万+





