MYSQL调优,选择合适的存储引擎,创建索引,尽量避免全表扫描

MYSQL调优,选择合适的存储引擎,创建索引,尽量避免全表扫描

MySQL调优

  1、选择合适的存储引擎

    1、读操作多 :MyISAM

    2、写操作多 :InnoDB

  2、创建索引

    在 select、where、order by常涉及到的字段建立索引

  3、SQL语句的优化

    1、where子句中不使用 != ,否则放弃索引全表扫描

    2、尽量避免 NULL 值判断,否则放弃索引全表扫描

      优化前 :

        select number from t1 where number is null;

      优化后 :

        在number列上设置默认值0,确保number列无NULL值

  select number from t1 where number=0;

    3、尽量避免 or 连接条件,否则放弃索引全表扫描

      优化前 :

        select id from t1 where id=10 or id=20 or id=30;

      优化后:

        select id from t1 where id=10

  union all

  select id from t1 where id=20

  union all

  select id from t1 where id=30;

    4、模糊查询尽量避免使用前置 % ,否则全表扫描

      select name from t1 where name like "%c%";

    5、尽量避免使用 in 和 not in,否则全表扫描

      select id from t1 where id in(1,2,3,4);

      select id from t1 where id between 1 and 4;

    6、尽量避免使用 select * ...;用具体字段代替 * ,不要返回用不到的任何字段


最后编辑于:2019/10/10作者: 牛逼PHP

发表评论