之前一直用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;

最新文章

  1. asp.net 验证码(一)Session
  2. 限制EditText最多输入多少汉字
  3. webServices
  4. ik分词
  5. windows环境自动获取SVN仓库当前版本
  6. PHP不使用递归的无限级分类
  7. delphi 预览图片2 (MouseUP)
  8. selenium框架与chrome浏览器的不兼容问题
  9. 【转】python XML 操作总结(创建、保存和删除,支持utf-8和gb2312)
  10. yml 文件操作方法
  11. 第一周-JAVA基本概念
  12. JavaScript处理null、undefined和空值
  13. loadrunner的安装与破解
  14. .netcore 堆栈调用方法小记
  15. python初始化环境记录
  16. 【倍增】Tak and Hotels II @ABC044&amp;ARC060/upcexam6463
  17. DbSet&lt;T&gt;().Where(e =&gt; true)之后再想Include怎么办?
  18. cocos2d-js 小知识
  19. ubuntu 电源管理
  20. CodeForces 459C Pashmak and Buses(构造)题解

热门文章

  1. UESTC_秋实大哥与线段树 2015 UESTC Training for Data Structures&lt;Problem M&gt;
  2. ios的一些开源资源
  3. 【转】linux环境变量设置
  4. java连接oracle数据库详细代码
  5. git使用经验
  6. django学习笔记二:一个项目多个App项目搭建
  7. SQL事务机制
  8. 安装apache mysql 论坛(一)
  9. mac版gif格式录屏工具下载和使用
  10. MVC中的错误过滤器无法拦截URL路径错误的解决办法