Si je comprends bien la logique, le problème est le produit cartésien causé par les deux jointures. Votre requête est un peu difficile à suivre, mais je pense que l'intention est mieux gérée avec des sous-requêtes corrélées :
select k.*,
(select sum(cost)
from ad_group_keyword_network n
where n.event_date >= '2015-12-27' and
n.ad_group_keyword_id = 1210802 and
k.id = n.ad_group_keyword_id
) as cost,
(select sum(clicks)
from keyword_click c
where (c.date is null or c.date >= '2015-12-27') and
k.keyword_id = c.keyword_id
) as clicks
from ad_group_keyword k
where k.status = 2 ;
Ici est le SQL Fiddle correspondant.
MODIFIER :
La sous-sélection doit être plus rapide que le group by
sur les données non agrégées. Cependant, vous avez besoin des bons index :ad_group_keyword_network(ad_group_keyword_id, ad_group_keyword_id, event_date, cost)
et keyword_click(keyword_id, date, clicks)
.