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 `products` ADD INDEX `products_idx_products_status_products_added` (`products_status`,`products_date_added`);
ALTER TABLE `products_attributes` ADD INDEX `products_attribute_idx_options_id_products_options_id` (`options_id`,`products_id`,`options_values_id`);
ALTER TABLE `products_description` ADD INDEX `products_descripti_idx_products_id` (`products_id`);
ALTER TABLE `products_options_values` ADD INDEX `products_values_idx_products_order` (`products_options_values_sort_order`);
ALTER TABLE `products_options_values` ADD INDEX `products_values_idx_language_id_products_id` (`language_id`,`products_options_values_id`);
ALTER TABLE `products_stock` ADD INDEX `products_stock_idx_products_id_products_quanti` (`products_id`,`products_stock_quantity`);
ALTER TABLE `specials` ADD INDEX `specials_idx_products_id` (`products_id`);
SELECT
DISTINCT pav.products_options_values_id,
pav.products_options_values_name,
pav.products_options_values_sort_order
FROM
products_stock ps,
products_options_values pav,
(SELECT
DISTINCT pa.products_id
FROM
products_attributes pa,
products_options_values pov,
(SELECT
p.products_id,
p.products_image,
p.products_subimage1,
pd.products_name,
p.products_quantity,
p.products_model,
p.products_ordered,
p.products_price,
p.products_date_added,
p.products_weight,
p.products_length,
p.products_width,
p.products_height,
p.products_tax_class_id,
p.products_status,
IF(s.status,
s.specials_new_products_price,
NULL) AS specials_new_products_price,
IF(s.status,
s.specials_new_products_price,
p.products_price) AS final_price,
IF(p.clearance_price < p.products_cost * 2.25,
p.clearance_price,
p.products_cost * 2.25) AS sorting_price
FROM
products p
LEFT JOIN
specials s
ON p.products_id = s.products_id
LEFT JOIN
products_description pd
ON p.products_id = pd.products_id
WHERE
p.products_status = '1'
AND Date_sub('2016-04-19', INTERVAL 7000 day) <= p.products_date_added) m
WHERE
m.products_id = pa.products_id
AND pa.options_id = 1
AND pa.options_values_id = pov.products_options_values_id
AND pov.language_id = '1'
) q
WHERE
q.products_id = ps.products_id
AND ps.products_stock_attributes = Concat('1-', pav.products_options_values_id)
AND ps.products_stock_quantity > 0
ORDER BY
pav.products_options_values_sort_order ASC