Explain plan will not help in this, you should check data. If it is a join, select top 100 join key value from all tables involved in the join, do the same for partition by key if it is analytic function and you will see if it is a skew.
Example:
select key, count(*) cnt
from table
group by key
having count(*)> 1000 --check also >1 for tables where it should not be duplication (like dimentions)
order by cnt desc limit 100;
key
can be complex join key (all columns you are using in the join ON condition).
Also have a look at this answer: https://stackoverflow.com/a/51061613/2700344
与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…