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 `cl_client_intervention_areas` ADD INDEX `cl_intervention_idx_city_id` (`city_id`);
ALTER TABLE `cl_clients` ADD INDEX `cl_clients_idx_vat` (`vat`);
ALTER TABLE `cl_clients_with_regions` ADD INDEX `cl_with_idx_section_nut_2_vat_encrypt` (`section`,`nut_2`,`vat`,`encrypted_vat`);
ALTER TABLE `cl_finances` ADD INDEX `cl_finances_idx_year_vat` (`year`,`vat`);
SELECT
cl_clients.vat AS association_vat,
cl_clients.name AS association_name,
cl_clients_with_regions.city_id,
cl_clients_with_regions.nut_1,
cl_clients_with_regions.nut_2,
cl_clients_with_regions.nut_3,
company.vat AS company_vat,
company.name,
company.section,
company.division,
company.cae,
SUM((SELECT
SUM((COALESCE((cl_finances.sales_community_market),
0) + COALESCE((cl_finances.sales_extra_market),
0)))
FROM
cl_finances
WHERE
cl_finances.vat = company.vat
AND cl_finances.year = 2018)) AS total_sum
FROM
`cl_clients_with_regions`
JOIN
`cl_client_intervention_areas`
ON `cl_client_intervention_areas`.`city_id` = `cl_clients_with_regions`.`city_id`
JOIN
`cl_clients`
ON `cl_clients`.`vat` = `cl_client_intervention_areas`.`client_vat`
INNER JOIN
cl_clients_with_regions company
ON cl_clients_with_regions.vat = company.vat
WHERE
`cl_clients_with_regions`.`encrypted_vat` IS NOT NULL
AND `cl_clients_with_regions`.`country` IS NOT NULL
AND `cl_clients_with_regions`.`cae` IS NOT NULL
AND `cl_clients_with_regions`.`cae` != ''
AND `cl_clients_with_regions`.`division` IS NOT NULL
AND `cl_clients_with_regions`.`section` = 'A'
AND `cl_clients_with_regions`.`nut_2` = 'Centro'
GROUP BY
association_vat
ORDER BY
NULL