zoukankan      html  css  js  c++  java
  • MySQL Limit优化(转)

    原文:http://bbs.landingbj.com/t-0-240894-1.html

    首先,我们看一个分页SQL:

    SELECT time,
    page
    FROM `l_not_200_page`
    WHERE time BETWEEN timestamp('2014-03-27') AND timestamp('2014-03-27 23:59:59')
    AND DOMAIN = 1
    AND status = 304 LIMIT 0,
    30


    我们可以这样优化:

    SELECT time,
    page
    FROM `l_not_200_page`
    INNER JOIN
    (SELECT id
    FROM `l_not_200_page`
    WHERE time BETWEEN timestamp('2014-03-27') AND timestamp('2014-03-27 23:59:59')
    AND DOMAIN = 1
    AND status = 304
    ORDER BY page LIMIT 0,
    30) AS t USING(id);


    这样优化的好处:

    对于limit的定义是:limit x,y。表示从第x行开始选择y条记录。

    如果我们这样优化:使用覆盖索引查询返回需要的主键、再根据这些主键关联原表获得需要的行。

    这样的好处一是使用索引加快查询速度,二是剔除不需要的数据,减少逻辑读和物理读。

    逆风的方向更适合飞翔,不怕千万人阻挡,只怕自己投降!
  • 相关阅读:
    OpenSSL证书生成
    支付宝支付流程
    前端获取用户位置信息
    微信公众号开发(三)
    微信公众号开发(二)
    微信公众号开发(一)
    前端优化
    页面自适应
    CSS样式(二)
    CSS样式(一)
  • 原文地址:https://www.cnblogs.com/jackzz/p/9125913.html
Copyright © 2011-2022 走看看