范文健康探索娱乐情感热点
投稿投诉
热点动态
科技财经
情感日志
励志美文
娱乐时尚
游戏搞笑
探索旅游
历史星座
健康养生
美丽育儿
范文作文
教案论文

MySQL分页方法

  MySQL分页方法
  MySQL的分页似乎一直是个问题,有什么优化Mysql分页方法吗?下面总结了一些Mysql分页方法,大家一起来看看。
  方法1:直接使用数据库提供的SQL语句
  语句样式:MySQL中,可用如下方法:SELECT * FROM 表名称 LIMIT M,N。
  适应场景:适用于数据量较少的情况(元组百/千级)。
  原因/缺点:全表扫描,速度会很慢 且 有的数据库结果集返回不稳定(如某次返回1,2,3,另外的一次返回2,1,3)。Limit限制的是从结果集的M位置处取出N条输出,其余抛弃。
  方法2:建立主键或唯一索引,利用索引(假设每页10条)
  语句样式:MySQL中,可用如下方法:
  代码如下:
  SELECT * FROM 表名称 WHERE id_pk > (pageNum*10) LIMIT M。
  适应场景:适用于数据量多的情况(元组数上万)。
  原因:索引扫描,速度会很快。有朋友提出因为数据查询出来并不是按照pk_id排序的,所以会有漏掉数据的情况,只能方法3。
  方法3:基于索引再排序
  语句样式:MySQL中,可用如下方法:SELECT * FROM 表名称 WHERE id_pk > (pageNum*10) ORDER BY id_pk ASC LIMIT M。
  适应场景:适用于数据量多的情况(元组数上万). 最好ORDER BY后的列对象是主键或唯一所以,使得ORDERBY操作能利用索引被消除但结果集是稳定的(稳定的含义,参见方法1)。
  原因:索引扫描,速度会很快. 但MySQL的排序操作,只有ASC没有DESC(DESC是假的,未来会做真正的DESC,期待)。
  方法4:基于索引使用prepare(第一个问号表示pageNum,第二个表示每页元组数)
  语句样式:MySQL中,可用如下方法:
  代码如下:
  PREPARE stmt_name FROM SELECT * FROM 表名称 WHERE id_pk > (?* ?) ORDER BY id_pk
  ASC LIMIT M。
  适应场景:大数据量。
  原因:索引扫描,速度会很快. prepare语句又比一般的查询语句快一点。
  方法5:利用MySQL支持ORDER操作可以利用索引快速定位部分元组,避免全表扫描。
  比如:读第1000到1019行元组(pk是主键/唯一键)。
  代码如下:
  SELECT * FROM your_table WHERE pk>=1000 ORDER BY pk ASC LIMIT 0,20。
  方法6:利用"子查询/连接+索引"快速定位元组的位置,然后再读取元组. 道理同方法5
  如(id是主键/唯一键,蓝色字体时变量):
  利用子查询示例:
  代码如下:
  SELECT* FROMyour_table WHEREid <=
  (SELECTid FROMyour_table ORDER
  BYid descLIMIT ($page-1)*$pagesize ORDERBYid desc
  LIMIT $pagesize
  利用连接示例:
  代码如下:
  SELECT* FROMyour_table ASt1
  JOIN(SELECTid FROMyour_table ORDERBY
  id descLIMIT ($page-1)*$pagesize ASt2
  WHERE
  t1.id <= t2.id ORDERBYt1.id descLIMIT $pagesize;
  方法7:存储过程类(最好融合上述方法5/6)
  语句样式:不再给出。
  适应场景:大数据量,推荐的方法。
  原因:把操作封装在服务器,相对更快一些。
  方法8:反面方法
  网上有人写使用 SQL_CALC_FOUND_ROWS。没有道理,勿模仿 。
  基本上,可以推广到所有数据库,道理是一样的。但方法5未必能推广到其他数据库,推广的前提是,其他数据库支持ORDER BY操作可以利用索引直接完成排序。

iPhoneX发生未知错误53怎么办解决方法一些用户使用iTunes给iPhoneX手机进行升级的时候,遇到了升级失败的问题,系统提示未能更新iPhoneldquoiPhonerdquo,发生未知错误(53),那么,遇到这个FaceID再遭破解十岁儿子成功解锁母亲的iPhoneX苹果在iPhoneX发布会上宣称FaceID的出错率高达百万分之一,比之前的TouchID更加安全。但同时苹果也表示,FaceID的识别精度在双胞胎兄弟间姐妹间以及年龄低于13岁的问题不断!iPhoneX扬声器会发出啪啪声据外媒MacRumors报道,目前已有至少24名iPhoneX用户反映在使用iPhoneX的扬声器播放音频及电话铃声时能听到噼啪声。在MacRumors论坛上的一位用户表示,ldqiPhoneX换屏多少钱iPhoneX碎屏维修和换屏哪个划算详解iPhoneX是苹果十周年纪念版本手机,其成本和售价都比其他型号高出不少。当然,有抢到第一批手机的朋友,就是在如果不小心iPhoneX碎屏了,iPhone换屏多少钱呢?iPhoneiPhone8哪里买便宜Phone8iPhoneXiPhone8Plus购买攻略苹果十周年新品发布会正式发布了iPhone8iPhoneX和iPhone8Plus这三款新机,给我们带来了一场手机盛宴。那么,想要购买iPhone8iPhoneX和iPhone8PiPhoneX从哪里买价格便宜iPhoneX怎么预约购买攻略很多朋友都开始关心iPhoneX在哪里可以最先买到?哪里买比较便宜?为了让大家更好的了解iPhoneX购买信息,今天,小编就给大家带来iPhoneX预约购买攻略,希望对果粉们有所帮iphonex齐刘海什么意思iphonex齐刘海真的好丑吗详细介绍在iphonex发布之后,很多朋友都在吐槽iphonex留了齐刘海,并吐槽iPhoneX刘海好丑。当然,有的朋友刚开始不知道iphonex齐刘海什么梗?iphonex齐刘海好丑什么iPhoneX怎么截图iPhoneX截图方法详细步骤之前使用苹果手机的朋友,每次操作截图功能的时候,应该是习惯性按传统电源键Home吧。但是,这次发布的全新一代iPhoneX手机,取消了Home键操作,有朋友就在问iPhoneX怎么iPhoneX怎么样iPhoneX值得买吗详细介绍昨天苹果发布会可以说是给大家带来了惊喜,除了大家期待已久的iphone8还有一个纪念版iPhoneX,而且全新的iPhoneX,如之前曝光iphone8的完全一样,苹果也采用了一个iPhoneX自拍场景功能介绍iPhoneX自拍场景玩法详细介绍这次发布的iPhoneX,有很多让我们惊喜的功能,比如说iPhoneX自拍场景功能。那么,iPhoneX自拍场景怎么呢?相信不少朋友还不知道吧。下面,小编给大家带来iPhoneX自iphoneX有哪几种颜色iphoneX机身颜色介绍图文今天,iphoneX正式发售了,不少网友都起了一个大早去当地的AppleStore体验一下iphoneX,不过,许多AppleStore展示的只有一个颜色的iphoneX,那么,i
HTCOneX如何安装更新HTCOneX安装更新的方法如下在Internet连接开启并且有新的可用更新时,系统更新对话框会显示出来,并引导完成更新过程。如果未看到此对话框,请检查状态栏中是否有更新通知图标。HTCOneX如何连接不同的WLAN网络HTCOneX连接不同的WLAN网络的方法如下1。滑动打开通知面板,然后点击。2。点击WLAN。此时显示检测到的WLAN网络。注要手动扫描可用的WLAN网络,请点击gt扫描。3。点浴霸多少钱不同浴霸类型及报价介绍在家居中,卫浴间浴霸安装是必不可少的,浴霸选购与安装的结果不仅会影响整体的美观,而且会影响到浴霸在日后的使用中是否舒心。可是不同浴霸类型报价,在市场中不同类型的浴霸报价时不同的,所三洋冰箱质量如何三洋冰箱介绍及报价详解日本三洋电器集团是一家有60年历史的大型企业集团,总部位于日本大阪,产品涉及显示器手机数码相机,机械,生物制药等众多领域,那么三洋冰箱质量如何呢?今天小编就带大家一起来了解下三洋冰york空调优点有哪些york空调报价详解york空调成功的解决了大楼温度调控难的问题,york空调产品它所覆盖的范围非常的广泛,它广泛的应用到了小型家用和大型商用的建筑中,能够为各种环境提供需求进行量身定做。那york空索爱lt18报价及刷机方法图文教程索爱LT18i手机是一款智能手机,现在已经停止生产了,不过大家仍然可以在网上购买到,现在在网上的售价大概在600元左右,当时这款索爱LT18i手机在市场上非常的畅销,但是有很多购买索爱lt18怎么刷机索爱lt18刷机方法详解教程安卓的智能手机,在使用的时候特别容易积攒垃圾,清理垃圾最彻底的方法就是刷机了,包括系统出问题也需要刷机。那么闲话少说,下面就来了解一下索爱lt18的刷机教程吧。准备索爱lt18手机索爱lt18i报价及相关测评图文现在手机市场上安卓手机在不断的更新发展,今天小编要给大家说的就是一款在市场上风光无限的索爱lt18i,这款手机在娱乐,游戏以及外观上就吸引了非常多消费者们的眼球就算在当时苹果手机以索爱LT18i是什么系统索爱LT18i所采用的是安卓发布的最新系统,系统版本是android2。3。4,在安卓4。0还没有发布的时候,这个是目前最新的。索尼爱立信移动通信国际股份有限公司(英语SonyEr索爱LT18i的CPU是单核的吗索尼爱立信LT18i的CPU是单核CPU,主频为1。4GHz,型号为高通snapdragonMSM8255,拥有512MB的机身缓存。索尼爱立信移动通信国际股份有限公司(英语Son索爱LT18i软件兼容性怎么样索爱LT18i软件兼容性应该还是不错的,首先作为大的安卓系统,兼容性都差不多,不同手机因为硬件差异有可能导致了软件运行的差别,比如屏幕分辨率的不同,比如手机CPUGPU的性能不同,