Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> Jak zaprojektowac tabele
cyberpooh
post
Post #1





Grupa: Zarejestrowani
Postów: 11
Pomógł: 0
Dołączył: 19.07.2005

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


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
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi (1 - 5)
php programmer
post
Post #2





Grupa: Zarejestrowani
Postów: 1 045
Pomógł: 5
Dołączył: 8.11.2004
Skąd: trójmiasto

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


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
Go to the top of the page
+Quote Post
skobek
post
Post #3





Grupa: Zarejestrowani
Postów: 13
Pomógł: 0
Dołączył: 9.10.2003

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


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.


--------------------
Go to the top of the page
+Quote Post
Nanaki
post
Post #4





Grupa: Zarejestrowani
Postów: 2
Pomógł: 0
Dołączył: 2.01.2006

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


Mam dość niewielkie doświadczenie w projektowaniu baz, ale również uważam, że drugi sposób jest lepszym wyjściem.
Go to the top of the page
+Quote Post
cyberpooh
post
Post #5





Grupa: Zarejestrowani
Postów: 11
Pomógł: 0
Dołączył: 19.07.2005

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


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
Go to the top of the page
+Quote Post
grzesiek_g
post
Post #6





Grupa: Zarejestrowani
Postów: 249
Pomógł: 30
Dołączył: 18.07.2007

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


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...


--------------------
Warsztat: Ubuntu 12.10, PHPStorm
http://vertoo.pl
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 Aktualny czas: 19.08.2025 - 22:50