You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

优化含UNION ALL的Hive查询:移除重复子查询实现分组取TOP3

查询优化:用IN替代UNION ALL实现相同统计结果

直接通过IN子句过滤目标agent_ip,一次性完成分组统计与排序取数,完全等价于原UNION ALL写法且更高效简洁:

SELECT source_ip, SUM(cnt) AS t_count
FROM tbl
WHERE agent_ip IN ('111.111.111.111', '222.222.222.222')
GROUP BY source_ip
ORDER BY t_count DESC
LIMIT 3;

关键说明

  • 原写法对同一张表做两次独立扫描后合并结果,优化后仅需一次表扫描,通过IN同时匹配两个目标IP,减少了重复计算开销。
  • 统计逻辑完全一致:均计算每个source_ip在指定两个agent_ip下的cnt总和,最终按t_count降序取TOP3。
  • 若agent_ip字段建有索引,IN子句可直接利用索引过滤数据,进一步提升查询性能。

内容的提问来源于stack exchange,提问作者devgate

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.18 01:02:35