最近我发现 MySQL 有一个offset
特性。我一直在尝试查找有关偏移结果的文档,或者偏移量和限制变量之间的差异,但我似乎找不到我要找的东西。
假设我在一个表中有 10.000 行,我想要 25 个结果,来自第 1.000 行。就我目前为止,我可以同时做这两个以获得相同的结果:
SELECT id,name,description FROM tablename LIMIT 1000,25
SELECT id,name,description FROM tablename LIMIT 25 OFFSET 1000
我想知道的是两者之间的区别。
- 这实际上是这样做的还是我的理解有误?
- 在较大的表中慢/快
- 当我这样做时,偏移量的结果是否会改变
WHERE column=1
(比如列有 >100 个不同的值) - 当我这样做时偏移的结果是否会改变
ORDER BY column ASC
(假设它具有随机值)
我感觉偏移量跳过了在数据库中找到的前 X 行,而忽略了排序和位置。