Se ho capito bene la logica, il problema è il prodotto cartesiano causato dai due join. La tua query è un po' difficile da seguire, ma penso che l'intento sia gestito meglio con sottoquery correlate:
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 ;
Qui è il corrispondente SQL Fiddle.
MODIFICA:
La sottoselezione dovrebbe essere più veloce di group by
sui dati non aggregati. Tuttavia, hai bisogno degli indici giusti:ad_group_keyword_network(ad_group_keyword_id, ad_group_keyword_id, event_date, cost)
e keyword_click(keyword_id, date, clicks)
.