Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [PHP][MYSQL] pytanie o tagi
Forum PHP.pl > Forum > Przedszkole
adam882
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.
erix
A cache, to Waść posiada? snitch.gif

LEFT JOIN zawsze stanowi pewne wyzwanie dla bazy...
adam882
cache będzie, ja miałem na myśli obciążenie w momencie przeszukiwania bazy
erix
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.
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.