一、影响性能的几个方面
服务器硬件。(CPU、内存、磁盘I/O)
服务器系统(系统参数优化)。
数据库存储引擎的选择。
MyISAM
: 不支持事务,表级锁。InnoDB
: 支持事务,支持行级锁,事务ACID
。数据库参数配置
数据库结构设计和sql语句
1.SQL和索引优化
1.1SQL
1.1.1优化SQL语句的一般步骤:
①通过show status 命令了解各种SQL的执行效率,
1
show status
显示当前连接所有统计参数的值。Com_xxx表示每个xxx语句执行的次数,通常需要注意的是下面几个参数:Com_select/Com_insert/Com_update/Com_delete。eg:
1
show status like 'Com_%';
②定位执行效率较低的SQL语句·通过show processlist命令实时查看当前SQL的执行情况;·通过慢查询日志(结束以后记录)定位出现的问题。
③通过explain 或 desc分析低效SQL的执行计划select_type(simple/primary/union/subquery)/table/type/possible_keys/key/key_len/rows/extra
④通过show profile 分析SQLshow profile 能帮我们了解时间都耗费到哪里去了。MySQL从5.0.37版本开始增加了show profile和show profiles语句的支持,通过secect @have_profiling命令能够看到当前MySQL是否支持profile,通过s