您的位置:首页 > 数据库 > MySQL

mysql 简单优化方法

2014-10-30 18:47 169 查看
优化步骤:
1、查看SQL是否可以优化。
2、查看索引是否可以优化。
3、查看表结构是否可以优化。

show table status from databases like 'tablename%'; // 查看表的容量、索引和数据文件的大小

show processlist; // 查看当前链接情况。
explain sql \G // 查看SQL使用的索引的情况。
当确认索引使用没有问题的时候可以查看当前SQL的占用cpu、io等情况。
set profiling=on;
run sql;
show profiles ;// get query id
show profile cpu, block io for query id; // 查看CPU、IO的使用情况。

常用方法:
1、当发现SQL使用了索引,但是索引使用不正确的时候可以强制使用别的索引 ... force index(index_name) from table_name;
2、针对使用索引(单表查询)且含有OR或者IN操作的SQL可以使用 UNION ALL 这样基本上可以节约大约1/2至2/3的时间。
3、只SELECT 使用到的列。

4、explain sql 查看sql语句是否使用索引:

  1、如果没有使用索引,要么更改sql语句,要么根据情况添加相应的索引。

  2、查询有使用到索引,查看当前索引的cardinality(此索引对应的唯一值的个数),如果相应的cardinality值占比比较低,可以强制使用更好的索引(force index(index_key)

5、在where条件中避免对字段进行null值判断。

  原因是:mysql不使用null值作为索引,凡是包含null值的列都不会包含在索引中。(虽然mysql默认值是null)
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: