Autor Zpráva
misak6
Profil
Ahoj.
Právě řeším problém se zobrazením podobných článků. Mám databázi článků a v ní mám mimo jiné i sloupec s tagy, podle kterých bych chtěl vyhledávat podobné články (články které mají stejný aspoň jeden tag).
Jediné co mě napadlo je, rozdělit si ty tagy pomoci explode() na jednotlivá slova a postupně pak sestavit dotaz pomocí LIKE. To se mi zdá ale dost těžkopádné řešení a navíc ten dotaz může být dost dlouhý když je těch tagů víc.
Moje otázka je, jak to lze udělat lépe.
Díky.
ninja
Profil
Spatne je uz navrzena struktura databaze, jestli mas u kazdeho clanku jeden sloupec a v nem vicero tagu oddeleny carkou nebo mezerou.

Lepsi je vytvorit separatni tabulku tagy, kde budou sloupce ID a TAG a ta bude vazbou M:N navazana na tabulku s clanky.

Pak bude hledani jednoduche a rychle. Navic dojde k uspore mista.
misak6
Profil
Spatne je uz navrzena struktura databaze, jestli mas u kazdeho clanku jeden sloupec a v nem vicero tagu oddeleny carkou nebo mezerou.

Lepsi je vytvorit separatni tabulku tagy, kde budou sloupce ID a TAG a ta bude vazbou M:N navazana na tabulku s clanky.

Pak bude hledani jednoduche a rychle. Navic dojde k uspore mista.


Diky za radu. Ještě se rozmyslím, jestli to předělám na tu podobu, kterou říkáš nebo se to pokusím nějak vyřešit v té současné struktuře.
Mastodont
Profil
misak6
Dotaz s LIKE je výrazně pomalejší, speciálně s % na začátku - a to by byl tvůj případ.
souki
Profil
Fulltext :)

Vaše odpověď

Mohlo by se hodit


Prosím používejte diakritiku a interpunkci.

Ochrana proti spamu. Napište prosím číslo dvě-sta čtyřicet-sedm:

0