Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [mysql] produkty sugerowane
Karen
post 28.06.2013, 17:16:49
Post #1





Grupa: Zarejestrowani
Postów: 39
Pomógł: 1
Dołączył: 23.10.2006

Ostrzeżenie: (0%)
-----


Witam,
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:

  1. SELECT * FROM `produkty` WHERE `produkt_id` IN (SELECT `cart_pid` FROM `cart` WHERE `cart_ucode` IN
  2. (SELECT `cart_ucode` FROM `cart` WHERE `cart_pid` = '$id' GROUP BY `cart_ucode`)
  3. 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.
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
bpskiba
post 30.06.2013, 06:45:45
Post #2





Grupa: Zarejestrowani
Postów: 340
Pomógł: 49
Dołączył: 3.07.2009
Skąd: Rzeszów

Ostrzeżenie: (0%)
-----


Tak napisane zapytanie musi powodować problemy!
Zacznij je pisać od nowa. Nie używaj również gwiazdki, a wymień nazwy pól
Twoje zapytanie będzie się zaczynać tak

  1. SELECT product_id FROM produkty
  2. JOIN cart ON......


w tym zapytaniu NIE BĘDZIE frazy ... IN (SELECT...
Go to the top of the page
+Quote Post

Posty w temacie


Reply to this topicStart new topic
1 Użytkowników czyta ten temat (1 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Wersja Lo-Fi Aktualny czas: 14.08.2025 - 19:28