Doris 做业务查询时,多个大子查询 使用 UNION ALL 联合后通过时间过滤一天数据还是会内存不足

Viewed 41

每个子查询由十几张表组成,每个子查询已通过时间过滤, 使用 UNION ALL 联合 在最外层做排序分页,返回的字段在100个左右,内存剩余150G,查询一个天的数据 也会不足

SQL 示例:
SELECT * FROM (
select 1 from XXX LEFT JOIN XXX ....
where time > '2025-09-22 00:00:00' and time < '2025-09-22 23:59:59'
UNION ALL
select 2 from XXX LEFT JOIN XXX ....
where time > '2025-09-22 00:00:00' and time < '2025-09-22 23:59:59'
UNION ALL
select 3 from XXX LEFT JOIN XXX ....
where time > '2025-09-22 00:00:00' and time < '2025-09-22 23:59:59'
UNION ALL
select 4 from XXX LEFT JOIN XXX ....
where time > '2025-09-22 00:00:00' and time < '2025-09-22 23:59:59'
UNION ALL
select 5 from XXX LEFT JOIN XXX ....
where time > '2025-09-22 00:00:00' and time < '2025-09-22 23:59:59'
) tab
WHERE time > '2025-09-22 00:00:00' and time < '2025-09-22 23:59:59'
ORDER BY time DESC LIMIT 0, 20

1 Answers