mam pytanie do odnośnie optymalizacji zapytania / funkcji.
Otóż potrzebuję zrobić w sklepie sugerowane produkty dla tych które zostały wcześniej zakupione.
Moje zapytanie wygląda tak:
SELECT * FROM `produkty` WHERE `produkt_id` IN (SELECT `cart_pid` FROM `cart` WHERE `cart_ucode` IN (SELECT `cart_ucode` FROM `cart` WHERE `cart_pid` = '$id' GROUP BY `cart_ucode`) AND `cart_pid` <> '$id' AND cart_orderid<>'' GROUP BY `cart_pid` ORDER BY count(cart_pid) DESC) LIMIT 3
Prostymi słowy: pobiera koszyki (wszystkie produkty są w koszyku - nawet te już kupione) gdzie był dany produkt i wyświetla 3 inne posortowane częstością kupienia.
Niestety przy 100 produktach w sklepie, a 1000 w koszykach zapytanie zaczyna bardzo zamulać.
Czy mogę to jakoś zoptymalizować lub możecie poradzić jak sami z taką funkcją sobie poradziliście?
Z góry dzięki za pomoc.