普通分页

  数据分页在网页中十分多见,分页一般都是limit start,offset,然后根据页码page计算start

select * from user limit 1,20
SELECT * from user limit 100001,20; //time 0.151sexplain SELECT * from user limit 100001,20;

   优化分页

   使用主键索引来优化数据分页

select * from user where id>(select id from user where id>=100000 limit 1) limit 20; //time 0.003s
 explain select * from user where id>(select id from user where id>=100000 limit 1) limit 20; 

  在数据量比较大的时候,我们尽量去利用索引来优化语句。上面的优化方法如果id不是主键索引,查询效率比第一种还要低点。我们可以先使用explain来分析语句,查看语句的执行顺序和执行性能。

补充:mysql中百万级别分页查询性能优化

前提条件:

1.表的唯一索引

2.百万级数据

SQL语句:

select     c.*     FROM  (  SELECT   a.logid  FROM   tableA a  where 1 = 1     <#if phone?exists&& phone!="">       AND a.phone like "%":phone"%"      </#if>   ORDER BY    a.create_time DESC   limit :startIndex,:maxCount  ) b,tableA c  where 1 = 1 AND b.logid = c.logid

1:startIndex:表示查找数据的开始位置

2:maxCount:表示每页显示数据个数

3:a.create_time DESC:降序排列,需要在create_time建立索引

4:limiit放在里面,而不要放在查询的外面,这样效率提升很多

5:logid:唯一索引

更多相关文章

  1. Python技巧匿名函数、回调函数和高阶函数
  2. Hello Android(安卓)- android窗体透明的,黑暗度等的设置技巧
  3. Android(安卓)Layout Tricks #3: Optimize by merging(Android(安
  4. android分页查询获取系统联系人信息
  5. Android(安卓)UI技巧(一)——Android中伸缩自如的9patch图片切法,没
  6. Android小技巧&Android(安卓)Studio快捷键(不定时更新)
  7. android 编程技巧汇总
  8. Android(安卓)SDK下载技巧
  9. Android之BaseAdapter适配器使用技巧

随机推荐

  1. Android用户界面 UI组件--ImageView及其
  2. Android + Eclipse + NDK + cygwin配制
  3. android 属性汇总
  4. Android(安卓)设置Dalog大小
  5. 在 android 上运行 python 的方法
  6. Android touch事件一种解释
  7. Android开发基础-系统结构
  8. Android百度地图开发(一)环境搭建
  9. 界面编程之基本界面组件(7)ImageView(图像视
  10. Android横竖屏切换实例总结