看执行计划你这三张表都相当大啊,而且你这个执行计划是不会走落盘的。
而且你指定了merge_join这里并没有看到有merge_join算子啊?
如果导致OOM,我怀疑是LEFT JOIN weplay_user wu ON wgc.uid = wu.uid 存在1对非常多的情况或者LEFT JOIN weplay_gift_config b ON wgc.gift_id = b.id存在1对非常多的情况。
如果可以,其实最佳方案是走inl hash join 来减少内存使用,看能否试试用inl hash join来搞一搞看看呢?