惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

F
Fortinet All Blogs
Attack and Defense Labs
Attack and Defense Labs
V2EX - 技术
V2EX - 技术
O
OpenAI News
S
Secure Thoughts
H
Heimdal Security Blog
Application and Cybersecurity Blog
Application and Cybersecurity Blog
Schneier on Security
Schneier on Security
H
Hacker News: Front Page
S
Security Affairs
Exploit-DB.com RSS Feed
Exploit-DB.com RSS Feed
cs.CV updates on arXiv.org
cs.CV updates on arXiv.org
Vercel News
Vercel News
Microsoft Security Blog
Microsoft Security Blog
cs.CL updates on arXiv.org
cs.CL updates on arXiv.org
P
Proofpoint News Feed
The Register - Security
The Register - Security
GbyAI
GbyAI
Cloudbric
Cloudbric
MongoDB | Blog
MongoDB | Blog
D
Darknet – Hacking Tools, Hacker News & Cyber Security
K
Kaspersky official blog
Forbes - Security
Forbes - Security
Y
Y Combinator Blog
C
CXSECURITY Database RSS Feed - CXSecurity.com
Scott Helme
Scott Helme
Hacker News - Newest:
Hacker News - Newest: "LLM"
The Cloudflare Blog
Recorded Future
Recorded Future
人人都是产品经理
人人都是产品经理
Cyberwarzone
Cyberwarzone
C
CERT Recently Published Vulnerability Notes
Webroot Blog
Webroot Blog
C
Cyber Attacks, Cyber Crime and Cyber Security
L
LangChain Blog
T
Tor Project blog
Microsoft Azure Blog
Microsoft Azure Blog
博客园_首页
Hacker News: Ask HN
Hacker News: Ask HN
Blog — PlanetScale
Blog — PlanetScale
奇客Solidot–传递最新科技情报
奇客Solidot–传递最新科技情报
B
Blog RSS Feed
N
News and Events Feed by Topic
阮一峰的网络日志
阮一峰的网络日志
I
Intezer
V
V2EX
T
Tailwind CSS Blog
SecWiki News
SecWiki News
NISL@THU
NISL@THU
C
Check Point Blog

博客园 - chenzechao

抓取 DNS 解析记录 router iStoreOS mysql starrocks json处理 json遍历数组所有元素 git复制指定提交到其他分支 secureCrt标签页固定 mac键盘 vs code settings.json 拉链表匹配筛选日期区间 shell 循环遍历的详细用法 shell变量带默认值配置 cursor自动执行 JDK17生成JRE环境 Alt+Tab切换窗口时不包括网页窗口 mysql变量使用 maven工程改版本号,支持多模块一次性修改 mysql取中位数、p80、p90 SQL自定义排序 IDEA常用快捷键 Linux环境使用上下方向键无法查看history历史记录问题解决方法 博文阅读密码验证 - 博客园 linux设置http proxy flask框架在本机可访问,而其它机子访问不了
StarRocks中CTE报错
chenzechao · 2025-12-26 · via 博客园 - chenzechao

问题:

遇到一个奇怪的问题,SQL执行正常,但如果查询的时间段超过一个月则执行报错。

环境信息

select current_version() as version;
-- 3.3.20-1.3.0-202512081638-7f00bc3

查询SQL如下

whit data_top as (
    select * 
    from table_name 
    where day between '2025-01-01' and '2025-02-01'
    --    and rn <= 20
)
,data_cte2 as (
select count(1) as cnt data_top where rn <= 20
)
select data_cte2
limit 10
;

报错信息如下

TASK-MESSAGE: 
FAILED: no executable plan for this sql. group: ->  Group: 87
{root group 87 root operator: LogicalCTEAnchorOperator{cteId='1'} child: 5, 86}. required property: EMPTY SORT, EMPTY DISTRIBUTION, EMPTY CTE

排查原因

-- 设置这个参数后可正常执行
SET  cbo_cte_reuse = false;

设置此参数后可正常查询出结果,查看官方文档,可见是CTE在BE中的缓存,默认只有512M,可推测出是因为CTE超过512M导致OOM,从而时间段短时正常,时间段长时SQL执行则报错。
优化方面:减少CTE中数据量,在CTE中汇总后再查询和关联。
https://docs.starrocks.io/zh/docs/3.3/using_starrocks/caching/query_cache/#采用-cte-优化的-distinct-查询不使用-query-cache
image