【问题标题】:mysql offset true behaviourmysql偏移真实行为
【发布时间】:2011-05-01 14:24:13
【问题描述】:

我正在使用 where 子句创建分页。 我需要知道偏移的真实行为。

  1. 偏移量是根据匹配where子句的所有行计算的吗?或者
  2. 偏移量的计算类似于 id 并考虑所有行。例如。如果指定偏移量为 5,即使前 4 行不匹配 where 子句,也会从表中的第 6 行开始返回行?

编辑:我想确定,因为第二种行为完全不正确并会导致问题。 感谢您的回答。我无法发表评论,因为我的浏览器在 javascript 和 ajax 上严重失败。

【问题讨论】:

  • 你应该显示一些代码
  • 当你尝试时会发生什么(结果)
  • 如果选项 #2 正确,分页会非常低效,你不觉得吗?

标签: php mysql pagination offset


【解决方案1】:

是的,偏移量是根据匹配 where 子句的所有行计算的。 试试吧

【讨论】:

    【解决方案2】:

    您是在谈论使用LIMIT 子句吗? LIMIT 限制成功匹配的数量,而不是总匹配。 limit 的偏移部分是根据匹配项而不是所有符合条件的行计算的。 MySQL 不一定会以给定的顺序扫描行,并且可能根本不会扫描某些行,因此如果失败的匹配具有较低的索引,它不会缩短您的行。

    【讨论】:

      猜你喜欢
      • 2020-12-12
      • 2010-09-20
      • 2014-10-23
      • 1970-01-01
      • 2017-05-02
      • 2020-01-16
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多