cichy19-
25.08.2008, 09:40:49
Witam,
Piszę skrypt porównywarki i mam problem z wyszukiwarką.
Do wyszukiwania danych w MySQL użyłem FULLTEXT i wyszukiwanie jest szybkie.
Jednak chciałbym zrobic coś takiego aby na stronie z wynikami pokazywało kategorie główne w których znaleziono produktu i ich liczbę.
System który mam teraz pokazuje to co chcę ale wyszukiwanie trwa minimum 30 sekund.
Przykład: wyszukiwarka Allegro, po lewej stronie ile aukcji w jakich kategoriach.
Bardzo prosze o pomoc.
Pozdrawiam
wookieb
25.08.2008, 09:49:01
Pokaż strukturę tabeli i jej przykładowe dane.
SirZooro
25.08.2008, 17:19:24
Upewnij się że masz pozakładane indeksy na odpowiednie pola - jeżeli ich nie masz to nie dziw się że to działa wolno. Możesz też trzymać ilość produktów w każdej kategorii w rekordzie z danymi kategorii. Oczywiście wtedy musisz aktualizować tą wartość za każdym razem gdy dodajesz lub usuwasz produkt. Jest z tym trochę więcej pracy, ale dzięki temu unikasz narzutu związanego z liczeniem rekordów za każdym razem. Przejrzyj też ten artykuł:
Optymalizacja bazy danych.
cichy19-
25.08.2008, 17:51:45
Dziękuję za odpowiedź.
Indeksy są pozakładane. A drugi pomysł niestety odpada. Ponieważ muszą to być numery przy wyszukiwaniu a niewiadomo co użytkownik chce wyszukać.