SELECT DISTINCT SQL_CALC_FOUND_ROWS `produkty`.* , CASE WHEN `produkty`.`cena_prom` < `produkty`.`cena` AND `produkty`.`cena_prom` > '0' THEN ( CASE WHEN (`producenci`.`prowizja` IS NOT NULL AND `kategorie`.`prowizja` IS NOT NULL) THEN (`produkty`.`cena_prom` * (1 + (`produkty`.`prowizja` / 100) + (`producenci`.`prowizja` / 100) + (`kategorie`.`prowizja` / 100) )) WHEN (`producenci`.`prowizja` IS NOT NULL AND `kategorie`.`prowizja` IS NULL) THEN (`produkty`.`cena_prom` * (1 + (`produkty`.`prowizja` / 100) + (`producenci`.`prowizja` / 100) )) WHEN (`producenci`.`prowizja` IS NULL AND `kategorie`.`prowizja` IS NOT NULL) THEN (`produkty`.`cena_prom` * (1 + (`produkty`.`prowizja` / 100) + (`kategorie`.`prowizja` / 100) )) ELSE (`produkty`.`cena_prom` * (1 + (`produkty`.`prowizja` / 100) )) END ) ELSE ( CASE WHEN (`producenci`.`prowizja` IS NOT NULL AND `kategorie`.`prowizja` IS NOT NULL) THEN (`produkty`.`cena` * (1 + (`produkty`.`prowizja` / 100) + (`producenci`.`prowizja` / 100) + (`kategorie`.`prowizja` / 100) )) WHEN (`producenci`.`prowizja` IS NOT NULL AND `kategorie`.`prowizja` IS NULL) THEN (`produkty`.`cena` * (1 + (`produkty`.`prowizja` / 100) + (`producenci`.`prowizja` / 100) )) WHEN (`producenci`.`prowizja` IS NULL AND `kategorie`.`prowizja` IS NOT NULL) THEN (`produkty`.`cena` * (1 + (`produkty`.`prowizja` / 100) + (`kategorie`.`prowizja` / 100) )) ELSE (`produkty`.`cena` * (1 + (`produkty`.`prowizja` / 100) )) END ) END AS `cena_correct` FROM `produkty` LEFT JOIN `producenci` ON `producenci`.`id` = `produkty`.`producent` LEFT JOIN `kategorie` ON `kategorie`.`id` = `produkty`.`prod_kat`
Czas wykonywania średnio 3 sekundy! i myślę, że przez to przez to serwer mysql wyciąga 100% procesora...
explain:

Proszę o pomoc