Posiadam
1) 500 różnych kategorii
2) 64206 Produktów
Dalej.
1 towar może być połączony z kilkoma kategoriami
np towar
id_towaru | id kategorii | ip kategorii
1 | 64873 | 0.64872.64873
1 | 64877 | 0.64872.64873.64877
1 | 11 | 0.64872.12.11
powyższa tabela to tylko łącznik między kategorią a produktem, pełne drzewo ip znajduje się w innej tabeli
Teraz posiadam problem ze zrobieniem selecta ponieważ jeżeli zrobię taki select:
SELECT * FROM `tabela_łącząca_produkty_i_kategorie` WHERE ip like ('0.64872.%') and id_towaru = 1
Przykładowo wchodzę do kategorii 0.64872 i szukam towarów tak jak powyżej
w wyniku dubluje mi towary ponieważ towar przypisany jest również do innych członów i towar wyświetla mi 3 razy...
mogę dodać distinct ale na małej ilości wyników w przypadku tej bazy mam pół miliona wpisów gdzie zapytanie trwa 10 sec. Potrzebuję to zoptymalizować.
Jakieś pomysły?
