关于深度分页问题效率慢的问题

为了更快的定位您的问题,请提供以下信息,谢谢
【详述】在使用limit分页操作时,limit 200w,50 耗时为5s。limit 2000w,50 耗时为50s。同时cpu与内存报警。
【背景】
【业务影响】查询速度慢,资源报警。
【是否存算分离】否
【StarRocks版本】3.2.3
【集群规模】1FE+1BE混部
【机器信息】22C/64G
【联系方式】社区群18-原色 邮箱:yuanse95@outlook.com
【附件】
image explain costs:新建 文本文档.txt (3.6 KB)

表结构
CREATE TABLE judgment_documents (
id bigint(20) NOT NULL AUTO_INCREMENT COMMENT “自增主键”,
judgment_date date NOT NULL COMMENT “裁判日期”,
case_name varchar(65533) NOT NULL COMMENT “案件名称”,
case_number varchar(1024) NULL COMMENT “案号”,
original_link varchar(32) NULL COMMENT “原始链接”,
court varchar(512) NULL COMMENT “法院”,
jurisdiction varchar(1024) NULL COMMENT “所属地区”,
case_type varchar(1024) NULL COMMENT “案件类型”,
case_type_code varchar(1024) NULL COMMENT “案件类型编码”,
source varchar(1024) NULL COMMENT “来源”,
judicial_procedure varchar(1024) NULL COMMENT “审理程序”,
public_release_date date NULL COMMENT “公开日期”,
parties varchar(1024) NULL COMMENT “当事人”,
cause_of_action varchar(65533) NULL COMMENT “案由”,
legal_basis varchar(65533) NULL COMMENT “法律依据”,
full_text varchar(1048576) NULL COMMENT “全文”,
file_name varchar(1024) NULL COMMENT “来源文件名”
) ENGINE=OLAP
PRIMARY KEY(id, judgment_date)
COMMENT “数据”
PARTITION BY RANGE(judgment_date)
(PARTITION p19850120140101 VALUES [(“1985-01-01”), (“2014-01-01”)),
PARTITION p2014010120150101 VALUES [(“2014-01-01”), (“2015-01-01”)),
PARTITION p2015010120160101 VALUES [(“2015-01-01”), (“2016-01-01”)),
PARTITION p2016010120170101 VALUES [(“2016-01-01”), (“2017-01-01”)),
PARTITION p2017010120180101 VALUES [(“2017-01-01”), (“2018-01-01”)),
PARTITION p2018010120190101 VALUES [(“2018-01-01”), (“2019-01-01”)),
PARTITION p2019010120200101 VALUES [(“2019-01-01”), (“2020-01-01”)),
PARTITION p2020010120210101 VALUES [(“2020-01-01”), (“2021-01-01”)),
PARTITION p2021010120220101 VALUES [(“2021-01-01”), (“2022-01-01”)))
DISTRIBUTED BY HASH(judgment_date) BUCKETS 24
PROPERTIES (
“replication_num” = “1”,
“in_memory” = “false”,
“enable_persistent_index” = “true”,
“replicated_storage” = “true”,
“compression” = “LZ4”
);

profile.txt (29.6 KB)

set pipeline_dop=1; 再跑下这个SQL看看多久能跑出来

先改写成这样,select * from judgment_documents where id in ( SELECT id FROM judgment_documents WHERE (judgment_date >= ‘2014-03-05’ AND judgment_date <= ‘2024-03-05’ AND 1 = 1) LIMIT 10000000,50 ),已知的bad case,当前还没人办去优化。

改写后是 228ms