mysql offset的真实行为

问题描述

| 我正在使用where子句创建分页。 我需要知道偏移量的真实行为。 是否根据与where子句匹配的所有行计算了偏移量?要么 偏移量的计算方式类似于ID,并考虑了所有行。例如。如果将偏移量指定为5,则将从表的第6行开始返回行,即使前4行与where子句不匹配? 编辑:我想确定,因为第二种行为是完全不正确的,并会引起问题。 感谢您的回答。我无法发表评论,因为我的浏览器无法正常运行JavaScript和Ajax。     

解决方法

是的,将根据与where子句匹配的所有行来计算偏移量。去尝试一下。     ,您是在谈论使用
LIMIT
子句吗? LIMIT限制成功匹配的次数,而不是总匹配的次数。限制的偏移量部分是根据匹配而不是所有符合条件的行计算得出的。 MySQL不一定会以给定的顺序扫描行,也可能根本不会扫描某些行,因此,如果失败的匹配具有较低的索引,它将不会短时间更改行。