tidb分页获取数据

应用场景:使用tidb存储业务查询结果,每条记录包含程序生成的row_number(数值型唯一)、taskid(任务编号),现在需要按照任务号分页获取数据
目前问题:发现分页获取数据速度较慢
执行语句:
库大约1000万条记录(包含不同taskid结果,单个任务结果约10万条)
1.前20条:select * from result_table inner join( select taskid from result_table where taskid=12345 order by row_number asc limit 20) using(taskid) 需要300-350毫秒;
2.分页5000条: select * from table1 where taskid=12345 order by row_number asc limit 10000,5000,需要1.5秒左右;
能否进行优化,提高两者的速度?

hi,

改写成 select taskid from result_table where taskid=12345 order by row_number asc limit 20) using(taskid) 是否等价?inner join 效率比较低

根据开贴说明,需要提供下基本的集群信息。

  1. tidb 的版本。
  2. 两条 sql 的 explain 结果,以文本文件反馈下。
  3. result_table 表结构提供下