mysql优化篇(二)

来源:互联网 发布:js 改变div class属性 编辑:程序博客网 时间:2024/06/05 19:27
  1. 去除查询数据中的重复值
    diseinct 去除结果集中重复的值

    这里写图片描述

  2. 子查询优化
    子查询
    这里写图片描述

    连接查询
    这里写图片描述

  3. group by
    优化前:
    sql :
    explain select actor.first_name,actor.last_name,count(*)
    from sakila.film_actor inner join sakila.actor using(actor_id)
    group by film_actor.actor_id

    结果:
    这里写图片描述

    优化后
    sql:
    explain select actor.first_name,actor.last_name,c.cnt from sakila.actor inner join ( SELECT actor_id,count(*) as cnt from sakila.film_actor group by actor_id ) AS c using(actor_id)\G

    结果:
    这里写图片描述

  4. limt 优化
    优化前:(表扫描)
    sql:
    explain select film_id,description from sakila.film order by title limit 50,5\G

    结果:
    这里写图片描述

    优化后:
    第一步 主键排序(只扫描了55行)
    这里写图片描述

    第二步 使用第一次查询的末尾一条为开始行数(只扫描5行)
    a) 主键必须是顺序增长的
    这里写图片描述

         b )  主键不是顺序增长的         增加附加列(自增,有索引)
0 0
原创粉丝点击