In case you have your own slow SQL query, you can optimize it automatically here.
For the query above, the following recommendations will be helpful as part of the SQL tuning process.
You'll find 3 sections below:
ALTER TABLE `ad_fact_v1` ADD INDEX `ad_v1_idx__time` (`__time`);
SELECT
ad_fact_v1.advertiser_id,
ad_fact_v1.campaign_id,
ad_fact_v1.city_code,
ad_fact_v1.matched_keywords,
DATE_TRUNC('year',
ad_fact_v1.time) AS Year,
SUM(impression) AS impression,
SUM(click) AS click,
(CAST(SUM(click) AS FLOAT) / CAST(SUM(impression) AS FLOAT)) * 100 AS CTR,
COUNT(*) AS counts
FROM
ad_fact_v1
WHERE
ad_fact_v1.__time >= '2018-09-01T18:05:39Z'
AND ad_fact_v1.time < '2021-08-16T18:05:39Z'
AND ad_fact_v1.advertiser_id IN (
'290641618220892166'
)
AND ad_fact_v1.campaign_id IN (
'347205814932489837'
)
GROUP BY
1,
2,
3,
4,
5
HAVING
click >= 100
AND CTR <= 4.90
ORDER BY
CTR ASC