之前一直用oracle,在分页的时候用rownumber,转换到mysql上之后,用limit做分页;

在做某个业务的时候,需要先将数据排序,再分页,在给limit上参数的时候沿用了oracle的rownumber方式传参,最终导致了分页查到的数据越来越多,导致响应越来越慢,最终找到了问题所在;

错误代码:

 SELECT * FROM td_corporation_user t WHERE (t.`corp_logo` IS NOT NULL AND t.`corp_logo` <> '') AND t.`corp_user_type` = '' ORDER BY t.`corp_member_number` asc limit 0,15;

 SELECT * FROM td_corporation_user t WHERE (t.`corp_logo` IS NOT NULL AND t.`corp_logo` <> '') AND t.`corp_user_type` = '' ORDER BY t.`corp_member_number` asc limit 15,31;

上面的代码1是第一次请求的sql,代码2是第二次请求的sql,可以看出limit的第二个参数在递增,这个问题最终导致了第二次请求的时候返回的是排序数据中15~46条数据,一共31条数据,以此类推,以后的会更大;

启示limit的第二个参数并不是像rownumber中行号的结束,而是取多少条数据,所以limit的第二个参数是不需要变的,只需要变第一个行号的起始即可

正确代码:

 SELECT * FROM td_corporation_user t WHERE (t.`corp_logo` IS NOT NULL AND t.`corp_logo` <> '') AND t.`corp_user_type` = '' ORDER BY t.`corp_member_number` asc limit 0,15;

 SELECT * FROM td_corporation_user t WHERE (t.`corp_logo` IS NOT NULL AND t.`corp_logo` <> '') AND t.`corp_user_type` = '' ORDER BY t.`corp_member_number` asc limit 15,15;

mysql中limit用法误区的更多相关文章

  1. (转载)mysql中limit用法

    (转载)http://hi.baidu.com/sppeivan/item/e45179375d6778c62f8ec221   mysql中limit用法 使用查询语句的时候,经常要返回前几条或者中 ...

  2. MYSQL 中 LIMIT 用法

    mapper文件中的sql: ------------------------------------------------------------------------------------- ...

  3. MYSQL中LIMIT用法_后台分页

    LIMIT是MySQL内置函数,其作用是用于限制查询结果的条数. 1)其语法格式如下: LIMIT[位置偏移量,]行数 其中,中括号里面的参数是可选参数,位置偏移量是指MySQL查询分析器要从哪一行开 ...

  4. sqlserver row_number 类似 mysql中 limit 用法

    select * from ( select row_number() over(ORDER BY inspecdate desc,inspectime DESC,itemorder asc ) as ...

  5. mysql中limit的用法实例解析

    mysql中limit的用法解析. 在mysql中,select * from table limit m,n.其中m是指记录开始的index,从0开始,n是指从第m条开始,取n条. 例如: mysq ...

  6. Mysql中limit的用法详解

    Mysql中limit的用法详解 在我们使用查询语句的时候,经常要返回前几条或者中间某几行数据,为我们提供了limit这样一个功能. SELECT * FROM table LIMIT [offset ...

  7. mysql中limit与in不能同时使用的解决方式.

    mysql中limit与in不能同时使用的解决方式. 分类: MySQL2011-10-31 13:53 1277人阅读 评论(0) 收藏 举报 mysqlsubquery MySQL5.1中子查询是 ...

  8. oracle数据库不支持mysql中limit功能

    oracle数据库不支持mysql中limit功能,但可以通过rownum来限制返回的结果集的行数,rownum并不是用户添加的字段,而是oracle系统自动添加的. (1)使查询结果最多返回前10行 ...

  9. 第九章 MySQL中LIMIT和NOT IN案例

    第九章 MySQL中LIMIT和NOT IN案例 一.案例的项目 1.创建数据库语句: #创建数据库 CREATE DATABASE `schoolDB`; USE `schoolDB`; #创建学生 ...

随机推荐

  1. Android原型界面设计工具

     第 1 页:原型界面制作工具Lumzy  第 2 页:在线工具Mockingbird  第 3 页:开源UI工具The Pencil Project  第 4 页:JS开发工具包Dojo  第 5 ...

  2. 百度地图LV1.5实践项目开发工具类bmap.util.jsV1.3

    /** * 百度地图使用工具类-v1.5 * * @author boonya * @date 2013-7-7 * @address Chengdu,Sichuan,China * @email b ...

  3. UESTC_秋实大哥带我飞 2015 UESTC Training for Graph Theory<Problem B>

    B - 秋实大哥带我飞 Time Limit: 300/100MS (Java/Others)     Memory Limit: 65535/65535KB (Java/Others) Submit ...

  4. Js 中常用方法

    一.获取唯一值(2014-12-23) function newGuid() { var guid = ""; var n = (((1 + Math.random()) * 0x ...

  5. Easy Number Challenge(暴力,求因子个数)

    Easy Number Challenge Time Limit:2000MS     Memory Limit:262144KB     64bit IO Format:%I64d & %I ...

  6. java学习笔记day01

    1.Java JDK:简称为java开发工具集 2.下载JDK后安装,可以下载绿色版本,即不用安装,直接将其放在磁盘根目录  如:C:\Java\jdk1.6.0_10 3.在任意磁盘路径下都可以编译 ...

  7. MVC学习 (二) Razor语法

    MVC的Model层我理解与三层架构的Molde没有区别,都是作为各个层之间的数据沟通桥梁.但是关于Control和View都有一些与传统webform不同的特性. 这里先学习View里所用到的Raz ...

  8. a:hover span 隐藏/显示 问题

    :hover是我们在CSS设计中最常运用的伪类之一,许多绚丽效果的实现离不开伪类:hover,比如我们常见的纯CSS菜单.相册效果等等. 或许用了这么久的伪类:hover,还有部分朋友还不完全了解ho ...

  9. Android studio教程:[2]项目整体布局

    上篇介绍了如何创建项目,这一次将介绍创建完的项目如何呈现在开发者的眼前,介绍android studio开发环境的整体布局,让大家知道各个模块的位置和功能. 工具/原料 Android studio ...

  10. C#常用的内置委托

    using System;using System.Collections.Generic;using System.Linq;using System.Text;using System.Threa ...