• MYSQL LIMIT基本语法、分页原理以及简单的优化方法


    1、limit的基本用法:

       SQL 语法:SELECT * FROM table LIMIT [offset,] rows | rows OFFSET offset  

    select * from table limit 5;//搜索前5条记录,limit 5 等于 limit 0,5 (limit 偏移量,条数)  

    LIMIT 子句可以被用于强制 SELECT 语句返回指定的记录数。

    LIMIT 接受一个或两个数字参数。参数必须是一个整数常量。        

    如果给定两个参数,第一个参数指定第一个返回记录行的偏移量,第二个参数指定返回记录行的最大数目。        

    初始记录行的偏移量是 0(而不是 1): 为了与 PostgreSQL 兼容,MySQL 也支持句法: LIMIT # OFFSET #。

    select * from table limit 7,2 //表示获取第8条到9条数据

    select * from table limit 7,-1 //表示获取从第8条数据开始后面所有的数据

    select * from biz_water_user limit 1 offset 1;

    select * from biz_water_user limit 1,1;

    上面两条sql查询出的数据是一样的;

    2、limit 分页查询

    MYSQL的limit m n工作原理就是先读取前面m+n条记录,然后抛弃前m条,读后面n条想要的,所以m越大,偏移量越大,性能就越差。

    推荐分页查询方法:

    1、尽量给出查询的大致范围
    
    SELECT a1,a2,a3... FROM table WHERE id>=20000 LIMIT 10;
    2、子查询法 SELECT a1,a2,a3... FROM table WHERE id>= ( SELECT id FROM table LIMIT 20000,1 ) LIMIT 10;
     
  • 相关阅读:
    通过PDB文件实现非嵌入式的c++反射
    在c++中实现反射的初步想法
    对比特币相关的一些技术细节的补充
    初窥比特币
    根据一个坐标查找其所属区域的一些优化想法
    go两种数据类型的区别、数据类型和操作符、常量、变量声明
    go的相关包time、os、rand、fmt
    go语言的特性
    结构体
    defer、panic、recover
  • 原文地址:https://www.cnblogs.com/xianhaiyan/p/15066972.html
Copyright © 2020-2023  润新知