zoukankan      html  css  js  c++  java
  • MySQL中limit的问题

    原文:https://mp.weixin.qq.com/s/S-RcfdXP9TbuITmH2tW_hw

    -- 优化前SQL
    SELECT  各种字段
    FROM `table_name`
    WHERE 各种条件
    LIMIT 0,10;

    -- 优化后SQL
    SELECT  各种字段
    FROM `table_name` main_tale
    RIGHT JOIN
    (
    SELECT  子查询只查主键
    FROM `table_name`
    WHERE 各种条件
    LIMIT 0,10;
    ) temp_table ON temp_table.主键 = main_table.主键

    示例:

    mysql> select * from test where val=4 limit 300000,5;
    +---------+-----+--------+
    | id      | val | source |
    +---------+-----+--------+
    | 3327622 |   4 |      4 |
    | 3327632 |   4 |      4 |
    | 3327642 |   4 |      4 |
    | 3327652 |   4 |      4 |
    | 3327662 |   4 |      4 |
    +---------+-----+--------+
    5 rows in set (15.98 sec)

    mysql> select * from test a inner join (select id from test where val=4 limit 300000,5) b on a.id=b.id;
    +---------+-----+--------+---------+
    | id      | val | source | id      |
    +---------+-----+--------+---------+
    | 3327622 |   4 |      4 | 3327622 |
    | 3327632 |   4 |      4 | 3327632 |
    | 3327642 |   4 |      4 | 3327642 |
    | 3327652 |   4 |      4 | 3327652 |
    | 3327662 |   4 |      4 | 3327662 |
    +---------+-----+--------+---------+
    5 rows in set (0.38 sec)
  • 相关阅读:
    MySQLSource-Flume
    Flume
    Hive| ETL清洗& 查询练习
    Hive-04 压缩| 存储
    Hive-03 查询
    Hive-02 DDL| DML
    shell基本用法
    Hive-01 配置| 架构原理
    HDFS-HA高可用 | Yarn-HA
    react-路由和Ant design
  • 原文地址:https://www.cnblogs.com/songjn/p/15241324.html
Copyright © 2011-2022 走看看