Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: Jak zaprojektowac tabele
Forum PHP.pl > Forum > Bazy danych > MySQL
cyberpooh
witam
Mam problem z decyzja co do designu bazy.
Pisze system podobny do google adwords, uzytkownik dodaje swoj wpis, do kazdego wpisu przypisuje slowa kluczowe i zapisuje sobie.
Nastepnie jest dla internautow wyszukiwarka i szuka m.in. w tych slowach kluczowych

Pytanie jak zaprojektowac table aby wyszukiwarka szybko dzialala:
1. Wersja pierwsza

Tabela keywords
id_keyword
id_wpisu
keyword

wyszukiwanie wiadomo po polu keyword.
Minus jaki widze metody ze dla wielu wpisow moga byc te same keyword, bedzie wolno szukac ... ?

2. Drugi pomysl

Tabela keywords
id_keyword
keyword

Tabela keywords_wpisy
id_keyword
id_wpisu

Plus drugiej metody ze przy dodawniu kolejnych wpisow z powtarzajacymi slowami nie dubluja sie w tabeli keywords.
Minus ze szukamy pozniej(czy dolaczamy) druga tabele.


Pomozcie mi bo nie wiem ktora metode wybrac. Ciagle mam jakies ale do nich smile.gif

Pozdr
php programmer
Teoretycznie metoda druga jest lepsza,
lecz ma jeszczeminus taki, że jak ktoś dodaje,
wpis to trza przeszukać tabele z keywordsami,
żeby znaleźć jego id gdy takie słowo istnieje
skobek
ja uważam, ze metoda druga jest lepsza, a co do tego, że będziesz musiał tabelę połączyć to już sprawa specyfiki projektu (sam piszę bazy i zapytania które łączą czasem więcej niż 5 tabel i wszystko śmiga. Jak odpowiednio założysz indeksy to nie będzie problemu).
Polecam zapchać bazę 1mln rekordów założyć indeksy i wszystko sprawdzić jak chodzi.
Nanaki
Mam dość niewielkie doświadczenie w projektowaniu baz, ale również uważam, że drugi sposób jest lepszym wyjściem.
cyberpooh
oczywiscie ze samo laczenie tabel nie jest problemem, chodzi o wydajnosc rozwiazania smile.gif

ja tez sie sklaniam do drugiego i ciesze sie ze inni tez tak mysla smile.gif sprobuje, zobaczymy
grzesiek_g
Drugie rozwiązanie będzie lepsze bo musimy wybrać "lepsze zło", a jak wiadomo takie systemy mają mniej klientów którzy wprowadzają dane niż pobierających. Dlatego należy dążyć do maksymalnego zoptymalizowania metod pobrania danych.

P.S. Widziałem skrypt który w locie skalował obrazki do wyświetlenia w artykule, a można to było załatwić raz przy dodawaniu...
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.