MySql简单优化(Innodb)

来源:互联网 发布:淘宝店铺站外引流免费 编辑:程序博客网 时间:2024/05/01 02:21
mysql命令列界面
1、定位执行效率较低的Sql语句:使用 show processlist 命令查看当前MySql在进行的线程,包含线程的状态,是否锁表等,可以实时查看Sql执行情况,并对锁表进行优化。
2、分析执行低效Sql语句:通过explain [select *from tablename] 命令获取Mysql执行Select 语句的执行信息,包括select 语句执行过程表如何连接和连接次序。
explain 可以知道什么情况下,如何必须为表来加入索引,获得一个更快寻找记录的Select.
explain查询结果类型:
select_type: select 类型;
table: 输出结果集的表;
type: 表示表的连接类型当表中仅有一行是type的值为system是最佳的连接类型; 
     当select操作中使用索引进行表连接时type的值为ref;
     当select的表连接没有使用索引时,经常会看到type的值为ALL,表示对该表进行了全表扫描,这时需要考虑通过创建索引来提高表连接的效率。
possible_keys: 表示查询时,可以使用的索引列.
key: 表示使用的索引;
key_len: 索引长度
rows: 扫描范围
Extra: 执行情况的说明和描述
3、可以确认问题出现的原因,可以根据情况采取相应的措施,进行优化提高执行的效率。
0 0