Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> [PHP][MYSQL] pytanie o tagi
adam882
post 20.06.2009, 10:15:27
Post #1





Grupa: Zarejestrowani
Postów: 289
Pomógł: 1
Dołączył: 2.11.2007

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


Witam

Stworzyłem taką strukturę systemu tagów:

tabela z numerami id i nazwami tagów: ID|TAG
tabela wiążąca tagi ze stronami: ID|TAGID|STRONAID
oraz tabela ze stronami

Załóżmy, że dodając stronę dodaje z 8 tagów (w tym niektóre z 2-3 słowami).

Czy potem pisząc system wyszukiwania, zakładając, że szukam np. tagu "darmowe gry" i przy użyciu SELECT, dodając LEFT JOIN-y wyszukuje je jako WHERE tag="%darmowe%" AND tag="%gry%". Czy tego typu rozwiązanie może okazać się optymalne dla bazy danych? Chodzi mi o jak najmniejsze obciążanie bazy i najepszą wydajność tego rozwiązania.
Go to the top of the page
+Quote Post
erix
post 20.06.2009, 11:21:48
Post #2





Grupa: Moderatorzy
Postów: 15 467
Pomógł: 1451
Dołączył: 25.04.2005
Skąd: Szczebrzeszyn/Rzeszów




A cache, to Waść posiada? snitch.gif

LEFT JOIN zawsze stanowi pewne wyzwanie dla bazy...


--------------------

ZCE :: Pisząc PW załączaj LINK DO TEMATU i TYLKO w sprawach moderacji :: jakiś błąd - a TREŚĆ BŁĘDU? :: nie ponaglaj z odpowiedzią via PW!
Go to the top of the page
+Quote Post
adam882
post 20.06.2009, 11:34:01
Post #3





Grupa: Zarejestrowani
Postów: 289
Pomógł: 1
Dołączył: 2.11.2007

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


cache będzie, ja miałem na myśli obciążenie w momencie przeszukiwania bazy
Go to the top of the page
+Quote Post
erix
post 20.06.2009, 13:57:18
Post #4





Grupa: Moderatorzy
Postów: 15 467
Pomógł: 1451
Dołączył: 25.04.2005
Skąd: Szczebrzeszyn/Rzeszów




Inaczej się tego nie da zrobić... Kwestia tylko zmodyfikowania zapytań, aby korzystały z indeksów.

  1. WHERE tag="%darmowe%" AND tag="%gry%"

Tak będzie przeszukiwać wiersz po wierszu.

A tak:
  1. WHERE tag="darmowe%" AND tag="gry%"

Skorzysta z indeksów.


--------------------

ZCE :: Pisząc PW załączaj LINK DO TEMATU i TYLKO w sprawach moderacji :: jakiś błąd - a TREŚĆ BŁĘDU? :: nie ponaglaj z odpowiedzią via PW!
Go to the top of the page
+Quote Post

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: 21.06.2025 - 19:39