我们最近将Teradata版本升级到16版本,从那时起我们就面临着一些虚拟机空间问题。在查询消耗少于200GB之前,现在消耗超过1.5TB。然后我们开始优化查询,并修改了部分查询
LEFT JOIN (SELECT A.XX, C.YY FROM TABLE1 A
INNER JOIN TABLE2 B ON A.DD = B.EE
INNER JOIN TABLE3 C ON C.FF = B.GG
GROUP BY 1,2)
到
LEFT JOIN (SELECT A.XX, C.YY FROM TABLE1 A
INNER JOIN TABLE2 B ON A.DD = B.EE
INNER JOIN (SELECT FF, YY FROM TABLE3 GROUP BY 1,2) C
ON C.FF = B.GG
GROUP BY 1,2)
修改后,查询在200GB内运行。有人可以解释为什么我们在升级后面临这样的问题?提前谢谢。