方案一:如果id是连续的,可以这样,返回上次查询的最大记录(偏移量),再往下limit
select
id
,
name
from
employee
where
>
1000000
limit
10.
方案二:在业务允许的情况下限制页数:
建议跟业务讨论,有没有必要查这么后的分页啦。因为绝大多数用户都不会往后翻太多页。
方案三:order by + 索引(id为索引)
employee order
by
id limit
10
方案四:利用延迟关联或者子查询优化超多分页场景。(先快速定位需要获取的id段,然后再关联)
SELECT a
.*
FROM employee a
,
(
条件
LIMIT
)
b
a
.
=
方案一:如果id是连续的,可以这样,返回上次查询的最大记录(偏移量),再往下limit
select
id
,
name
from
employee
where
id
>
1000000
limit
10.
方案二:在业务允许的情况下限制页数:
建议跟业务讨论,有没有必要查这么后的分页啦。因为绝大多数用户都不会往后翻太多页。
方案三:order by + 索引(id为索引)
select
id
,
name
from
employee order
by
id limit
1000000
,
10
方案四:利用延迟关联或者子查询优化超多分页场景。(先快速定位需要获取的id段,然后再关联)
SELECT a
.*
FROM employee a
,
(
select
id
from
employee
where
条件
LIMIT
1000000
,
10
)
b
where
a
.
id
=
b
.
id