mysql 限制和偏移量大 table

mysql limit and offset in large table

我有一个 table 有 800000 条记录,我想 select 从 100000 开始记录,限制是 10

我的查询是:

SELECT * FROM `customercsv` WHERE insert_status = 0 order by id  limit 10 OFFSET 100000 

但是记录是从103474开始的。

我附上屏幕供您进一步参考。

如果您希望结果从 id = 100000 开始,请在 WHERE 子句中指定。

SELECT *
FROM `customercsv`
WHERE insert_status = 0
    AND id >= 1000000
ORDER BY id
LIMIT 10

您当前的查询 OFFSET 为以下查询获取数据:

SELECT *
FROM `customercsv`
WHERE insert_status = 0
ORDER BY id

然后,跳过前 100000 行,并显示之后的 10 个结果。因此,有 3474 行使得 insert_status 不是 0。您可以通过 运行:

确认
SELECT COUNT(1)
FROM customercsv
WHERE id <= 103474
    AND insert_status <> 0