![]() |
![]() |
![]() ![]()
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 (IMG:http://forum.php.pl/style_emoticons/default/smile.gif) Pozdr |
|
|
![]() |
![]()
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 |
|
|
![]()
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. |
|
|
![]()
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.
|
|
|
![]()
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 (IMG:http://forum.php.pl/style_emoticons/default/smile.gif)
ja tez sie sklaniam do drugiego i ciesze sie ze inni tez tak mysla (IMG:http://forum.php.pl/style_emoticons/default/smile.gif) sprobuje, zobaczymy |
|
|
![]()
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... |
|
|
![]() ![]() |
![]() |
Aktualny czas: 23.08.2025 - 23:44 |