位置: 编程技术 - 正文

8种MySQL分页方法总结(mysql分页怎么实现)

编辑:rootadmin

推荐整理分享8种MySQL分页方法总结(mysql分页怎么实现),希望有所帮助,仅作参考,欢迎阅读内容。

文章相关热门搜索词:mysql分页怎么实现,mysql是怎么分页的,mysql分页的几种方式,mysql的三种分页方法,mysql分页方式,mysql分页怎么实现,mysql分页的几种方式,mysql分页怎么实现,内容如对您有帮助,希望把文章链接给更多的朋友!

MySQL的分页似乎一直是个问题,有什么优化方法吗?网上看到网上推荐了一些分页方法,但似乎不太可行,你能点评一下吗?

方法1: 直接使用数据库提供的SQL语句

---语句样式: MySQL中,可用如下方法: SELECT * FROM 表名称 LIMIT M,N。

---适应场景: 适用于数据量较少的情况(元组百/千级)。

---原因/缺点: 全表扫描,速度会很慢 且 有的数据库结果集返回不稳定(如某次返回1,2,3,另外的一次返回2,1,3)。Limit限制的是从结果集的M位置处取出N条输出,其余抛弃。

方法2: 建立主键或唯一索引, 利用索引(假设每页条)

---语句样式: MySQL中,可用如下方法:---适应场景: 适用于数据量多的情况(元组数上万)。

---原因: 索引扫描,速度会很快。有朋友提出因为数据查询出来并不是按照pk_id排序的,所以会有漏掉数据的情况,只能方法3。

方法3: 基于索引再排序

---语句样式: MySQL中,可用如下方法: SELECT * FROM 表名称 WHERE id_pk > (pageNum*) ORDER BY id_pk ASC LIMIT M。

---适应场景: 适用于数据量多的情况(元组数上万). 最好ORDER BY后的列对象是主键或唯一所以,使得ORDERBY操作能利用索引被消除但结果集是稳定的(稳定的含义,参见方法1)。

---原因: 索引扫描,速度会很快. 但MySQL的排序操作,只有ASC没有DESC(DESC是假的,未来会做真正的DESC,期待)。

8种MySQL分页方法总结(mysql分页怎么实现)

方法4: 基于索引使用prepare(第一个问号表示pageNum,第二个?表示每页元组数)

---语句样式: MySQL中,可用如下方法:---适应场景: 大数据量。

---原因: 索引扫描,速度会很快. prepare语句又比一般的查询语句快一点。

方法5:利用MySQL支持ORDER操作可以利用索引快速定位部分元组,避免全表扫描

---比如: 读第到行元组(pk是主键/唯一键)。方法6: 利用"子查询/连接+索引"快速定位元组的位置,然后再读取元组. 道理同方法5

---如(id是主键/唯一键,蓝色字体时变量):

利用子查询示例:利用连接示例:方法7: 存储过程类(最好融合上述方法5/6)

---语句样式: 不再给出

---适应场景: 大数据量. 作者推荐的方法

---原因: 把操作封装在服务器,相对更快一些。

方法8: 反面方法

---网上有人写使用 SQL_CALC_FOUND_ROWS。 没有道理,勿模仿 。

基本上,可以推广到所有数据库,道理是一样的。但方法5未必能推广到其他数据库,推广的前提是,其他数据库支持ORDER BY操作可以利用索引直接完成排序。

mysql配置模板(my-*.cnf)参数详细说明 mysql安装成功后有几个默认的配置模板,列表如下:my-huge.cnf:用于高端产品服务器,包括1到2GBRAM,主要运行mysqlmy-innodb-heavy-4G.ini:用于只有innodb的安装

CentOS下php使用.0.0.1不能连接mysql的解决方法 php代码很简单:$server=".0.0.1";println("Begin");$link=mysql_connect($server,"mysql","mysql");if(!$link){die('Couldnotconnect:'.mysql_error().mysql_errno());}linux本机下使用phpmysql.php

MySQL ERROR (HY)错误解决方法 当通过TCP/IP连接MySQL远程主机时,出现ERROR(HY):LostconnectiontoMySQLserverat'readinginitialcommunicationpacket',systemerror:。如果是在linuxshell命令行中直接打mysql

标签: mysql分页怎么实现

本文链接地址:https://www.jiuchutong.com/biancheng/321368.html 转载请保留说明!

上一篇:Mysql字符串字段判断是否包含某个字符串的2种方法(mysql字符串字段数据类型)

下一篇:mysql配置模板(my-*.cnf)参数详细说明(mysql配置怎么调出来)

  • 商贸的增值税税率
  • 管理费用中税金分录怎么写
  • 预收账款借方余额可以计入应收账款的哪方
  • 车险会计分录处理怎么写
  • 税法关于开具发票的规定
  • 增值税发票信息错误可以作废重开吗
  • 计算本月应交增值税转账公式
  • 库存冲红是什么意思
  • 主营业务成本计算公式是什么
  • 企业住房维修基金怎么交
  • 小微企业减半征收城建税
  • 出口退税代理费用大概多少
  • 公司在走注销流程被起诉了怎么办
  • 转让法人要注意什么
  • 企业账户短信提醒可以用别人手机号吗
  • 附税分录怎么做?
  • 购入商品怎么做会计分录
  • 建筑公司一般纳税人增值税税率
  • 外经证过期没报验
  • 基金赎回未到账可继续买吗?
  • 我的初级备考经历怎么写
  • 软件行业研发费用比例有要求么
  • 出售汽车属于什么费用
  • 1697509246
  • 结转本月各项损益
  • 企业筹建期间购置机器设备支出计入什么科目
  • 待摊费用计入哪里
  • 怎样识别?
  • 增值税的具体内容包括
  • PHP:mcrypt_module_open()的用法_Mcrypt函数
  • 使用二氧化碳灭火器时人应该站在什么位置
  • php使用什么开发工具
  • 个人销售自建自用住房解读
  • yolo xml转txt
  • framework 4 client profile
  • 生产车间人员招聘要求
  • redis设置内存淘汰策略
  • 报税扣款锁定怎么处理
  • cvpr2020结果
  • 最新前端面试题
  • html常用标签有哪些
  • 先开票后发货如何操作
  • access宏操作
  • 其他货币资金是什么科目
  • 有限合伙企业成本费用抵扣
  • 自产货物用于抵偿债务
  • mysql数据库性能优化方法有哪些
  • 小微企业免税销售额和其他免税销售额的区别
  • sql扩展
  • 以前年度损益调整结转到本年利润吗
  • 小规模企业增值税税收优惠政策2023
  • 疫情期间社保减免优惠政策几个月
  • 增值税和所得税不一致的说明
  • 临时设施的种类有哪些
  • 预收账款和预付账款都属于负债类科目
  • 计提以前年度应付股利的分录
  • 股东以固定资产出资
  • 没实收资本还怎么做账
  • 外购设备的会计分录
  • 收到免费赠送的产品怎么做账
  • 实收资本小于注册资本账务处理
  • 私营公司应付工资的规定
  • MySQL:Unsafe statement written to the binary log using statement format since BINLOG_FORMAT = STATEM
  • git checkout撤销
  • 系统问题怎么处理
  • linux关闭进程kill
  • winxp系统和win7系统有什么区别
  • os10.8.5升级不了
  • pavsrv50.exe - pavsrv50进程管理信息
  • linux装完显卡驱动分辨率低
  • python算法具有哪五个性质
  • python外星人入侵游戏
  • unity 优化
  • unity笔记本
  • jquery mobile教程
  • 山西国家税务网官网
  • 安徽中考2021年
  • 无锡城市生活垃圾处理费
  • 18个税种已立法数量
  • 支付宝交税查询
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

    网站地图: 企业信息 工商信息 财税知识 网络常识 编程技术

    友情链接: 武汉网站建设