![]() |
![]() ![]() |
![]() |
![]() ![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 94 Pomógł: 0 Dołączył: 25.12.2004 Ostrzeżenie: (0%) ![]() ![]() |
Witam,
w jaki sposób napisać zapytanie aby wyszukiwało listę artykułów które maja określone słowa kluczowe wpisane przez użytkownika np. po wpisaniu słów kluczowych 'a', 'b', 'c' zostały wyświetlone artykuły o nazwie: artykul1 i artykul3 poniżej przedstawiam tabele z bazie danych artykul (Zawiera artykuły)
keywords ( wszystkie możliwe słowa kluczowe )
tabela_keywords ( przypisanie słów kluczowych do elementów tabeli artykul )
Za pomoc z góry dziękuje. Pozdrawiam Ten post edytował grzegorz-gg 16.08.2008, 18:52:27 |
|
|
![]()
Post
#2
|
|
![]() Grupa: Zarejestrowani Postów: 1 033 Pomógł: 125 Dołączył: 17.09.2005 Skąd: Żywiec Ostrzeżenie: (0%) ![]() ![]() |
Musisz wyszukiwać artykuły, które mają odpowiednie słowa kluczowe:
oraz odpowiednią ich ilość:
dzięki czemu pobrane zostaną tylko te artykuły, które mają wszystkie wymienione tagi. Do łączenia tabel używasz LEFT JOIN. Pokaż co do tej pory wymyśliłeś to pokombinujemy. -------------------- "Sumienie mam czyste, bo nieużywane."
|
|
|
![]()
Post
#3
|
|
Grupa: Zarejestrowani Postów: 94 Pomógł: 0 Dołączył: 25.12.2004 Ostrzeżenie: (0%) ![]() ![]() |
Witam ponownie,
wykonałem takie zapytanie według wskazówek teraz mój problem polega na tym w jaki sposób zmodyfikować to zapytanie aby przyspieszyć jego wykonanie na dużej ilości rekordów ok. 1000000 jakich table i typów kolumn użyć? Za pomoc z góry dziękuję.
Ten post edytował grzegorz-gg 16.08.2008, 19:07:14 |
|
|
![]()
Post
#4
|
|
![]() Grupa: Moderatorzy Postów: 6 072 Pomógł: 861 Dołączył: 10.12.2003 Skąd: Dąbrowa Górnicza ![]() |
Masz założony index na keywords_name?
|
|
|
![]()
Post
#5
|
|
Grupa: Zarejestrowani Postów: 94 Pomógł: 0 Dołączył: 25.12.2004 Ostrzeżenie: (0%) ![]() ![]() |
To też zrobiłem ale i tak wykonuje się około 4 sek.
Wydaje mi się że trzeba by połączyć inaczej tabele. I takiego typu tabel są korzystniejsze do szybkiego wyszukiwania? |
|
|
![]()
Post
#6
|
|
![]() Grupa: Moderatorzy Postów: 6 072 Pomógł: 861 Dołączył: 10.12.2003 Skąd: Dąbrowa Górnicza ![]() |
Wykonaj EXPLAINa dla tego zapytania i wklej tu wynik:
i spróbuj zamienić miejscami warunki, czyli:
Ten post edytował phpion 17.08.2008, 11:15:39 |
|
|
![]() ![]() |
![]() |
Wersja Lo-Fi | Aktualny czas: 16.07.2025 - 13:34 |