位置: 编程技术 - 正文

在MySQL中使用LIMIT进行分页的方法(在mysql中使用视图的限制不包括)

编辑:rootadmin

推荐整理分享在MySQL中使用LIMIT进行分页的方法(在mysql中使用视图的限制不包括),希望有所帮助,仅作参考,欢迎阅读内容。

文章相关热门搜索词:在mysql中使用关键字什么定义新的语句结束符,在mysql中使用什么语句来更新表中的记录,在mysql中使用索引不能避免进行全表的扫描,在mysql中使用describe查看表字段信息的语法格式,在mysql中使用视图的限制不包括,在mysql中使用什么语句来查看数据表的结构,在mysql中使用什么语句来查看数据表的结构,在mysql中使用什么语句来查询数据,内容如对您有帮助,希望把文章链接给更多的朋友!

今天看一个水友说他的MySQL现在变的很慢。问什么情况时。说单表超过2个G的一个MyISAM。真垃圾的回答方式。

简单答复:换一个强劲的服务器。换服务器很管用的:)

……… 最终让取到慢查询:

如:

看到这个语句我都吐血了(BT的PHPWIND分页啊,这个语句是PHP初学者写出来的还正常,但PHPWIND那么成熟的社区了还有这样的问题)。 我这里简单说一下LIMIT的原理。这里以LIMIT N,M为基础:LIMIT首先要找查N+M行,然后从N行处,取M行。那么这样的SQL对一次查询一个操作应该是一个昂贵的开销。对于LIMIT这类的优化,第一个目标就是让N变的尽可能的小或是不用。 怎么才能使这个N尽可能小呢。我们能做的其实就是用相对的值,给分页一个提示。如现在我们看的是第5页,看完看想看第6页,第6页同样显示是条记录。我们就可以想到,以这个例子为准:我们可以肯定的是第6页的日值应小于第5页的,如果第5页的最小日值为:--4,那我们就可以用:

这样来查询第6页的内容。同样对于查看第4页的内容(假设第5页的最大日期为:--3)则第4页的内容为:

这是一个基本的思想。接下来讨论一下怎么展现的问题。

再说一下这种业务的SQL怎么实现:对于分页的展示可以用多用类型。这里说三种常用的类型:

第一种:显示“上一页” “下一页”这种类型

这种方式相对简单也就出现了我们看到那种SQL不思考的写法。合理的做法:

第一页:

第二页:根据第一页的postdate进行查询如: SELECT * FROM pw_gbook WHERE uid='' and postdate<'--3' ORDER BY postdate DESC LIMIT ; SELECT * FROM pw_gbook WHERE uid='' and postdate<'--3' ORDER BY postdate DESC LIMIT ;

为什么说这个简单呢,这个不存在跳页的问题。接下来这种就存在一个跳页的问题了。

在MySQL中使用LIMIT进行分页的方法(在mysql中使用视图的限制不包括)

第二种:显示 “ 1,2,3,4,5…”

第一页: 还是以第一页的方式实现:

第二页:和原来一样。如果跳页,如从第二页跳到第5页,这里有一个第二页的最小日期为:--3(假设值,可以由第二页的程序查询得到),第二到第5,差2页,每页条记录,那么就可以用:

看到这里明白为什么大型网站的分页不是一下标识出来完了,让都能点了吧。也不会给你一个框让你输入一个页跳过去了。如果跳的页面过多,也就存在N值过大的问题了。所以要想办法必免。

第三种:显示 “1,2,3,4,5,…. 末页” 或是 “首页,<<,,, >>末页”

这里有一个特殊的一地方:

别的页面的跳转的上面一样。这里就加一个末页,这里又分两种情况,如果知道最后一页是多少页,也就知道了前一页的最小日期(分页提示值),这样就可以用上面的方法查看最后一页的内容(会出现不足条的现象),另一种,我就不知道最后是第几页,我就是想看看最后什么样子,那么就可以用(一定是显示条):

首页这里就不在说了。

具体怎么实现搞明白了,就可以做PHP代码的修改了。稍稍修改一下,就会带来意想不到的效果。

这里只是一个通用的分页处理方法。不同的业务有可能还有不同的方法处理。如果在条件可能和情况可以考用:between … and .. 带代替limit分页操作。

第三种方法: 简单的逻辑转换。

转换成:

简单介绍MySQL中的事务机制 从一个问题开始最近银行这个事情闹的比较厉害啊,很多储户的钱放在银行,就不翼而飞了,而银行还不管不问,说是用户的责任,打官司,用户还能

几种MySQL中的联接查询操作方法总结 前言现在系统的各种业务是如此的复杂,数据都存在数据库中的各种表中,这个主键啊,那个外键啊,而表与表之间就依靠着这些主键和外键联系在一

初步介绍MySQL中的集合操作 啥是集合操作?通常来说,将联接操作看作是表之间的水平操作,因为该操作生成的虚拟表包含两个表中的列。而我这里总结的集合操作,一般将这些

标签: 在mysql中使用视图的限制不包括

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

上一篇:MySQL中MIN()函数的使用教程(mysql的min函数)

下一篇:简单介绍MySQL中的事务机制(mysql的概念及作用)

  • 出口退税附加税分录怎么写
  • 金税盘的作用是什么意思
  • 企业所得税和预提所得税
  • 偷税与漏税的界限是
  • 土地使用税返还是否征税
  • 小规模纳税人普票交税吗
  • 购买礼品送客户个人所得税
  • 小规模纳税人开票税率
  • 增值税16点税降到13点,补缴税款怎么算
  • 票据遗失可以采取哪些补救措施
  • 租金收入需要缴增值税吗
  • 收到发票当月不抵扣怎么做账
  • 商品房买卖合同没有约定逾期交房违约金
  • 应纳税调增调减会计分录
  • 现金支票存根联需要盖章吗?
  • 进项税申报但未抵扣
  • 快递快件丢失
  • 物业费增值税收入的确认最新政策
  • 支付银行借款利息属于现金使用范围吗
  • 个人独资企业免税销售额
  • 进口代理公司怎么收费
  • 物业公司代收电费标准
  • 虚开发票可以做进项税额转出分录吗?
  • 发票增值税是多少个点
  • 附加税增值税免抵税额的数据从哪里提取的
  • 购入生产使用的材料会计分录
  • 产品售后产生材料费会计核算
  • 税控设备抵减如何填写报表
  • 酒店住宿收入确认原则的条件
  • 计算所得税时扣除增值税附加怎么算
  • 营业外收支计入应纳税所得额吗
  • linux系统怎么查看mac地址
  • 用苹果macbook pro怎样
  • 简易计税的方式
  • 民办非企业年底额度不能低于多少
  • 小企业会计准则和一般企业会计准则的区别
  • 收到折扣发票怎么处理
  • 电脑虚拟内存不够
  • 约定分摊和平均分摊有什么区别
  • 衍生金融资产会计科目
  • 销售折让双方会计分录
  • 销售退回的会计分录金额
  • 所得税申报表应怎么填
  • 帝国cms功能
  • mysql的备份方式
  • python 函数的返回值
  • 电子汇票提示付款申请
  • 银行主账户和子账户能独立使用吗
  • 附加税费怎么计算
  • mysql Non-Transactional Database Only(只支持MyISAM)
  • 出差补助是否计入工资总额
  • 跨年银行回单怎么入账
  • 交城市维护建设税减半征收吗?
  • 车辆购置税计入什么科目
  • 进项税额减免部分在重点税源表中怎么填
  • 其他权益工具投资公允价值变动计入什么科目
  • 住宿费的进项税额
  • 出库单上面的单位写谁的
  • 本月应负担的修理费
  • 公司购买的办公楼怎么交房产税
  • sql优化的一般步骤
  • 在MySQL中使用GTIDs复制协议和中断协议的教程
  • mysqldump -s
  • 用sql语句实现分页效果
  • Mac下mysql 5.7.13 安装配置方法图文教程
  • 如何设置window图标大小
  • ubuntu14.4安装教程
  • win10系统出现问题怎么办
  • centos 怎么用
  • win7系统运行红警黑屏有声音
  • windows10快速操作在哪
  • js date()
  • python网络编程视频教程
  • Node.js中的核心模块包括哪些内容?
  • android数据库使用
  • shell错误日志输出
  • unity接收数据
  • js eval
  • python中url
  • 2021广东农村医保多少钱一年
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

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

    友情链接: 武汉网站建设