Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [mysql/php]serwis linków (coś jak del.icoi.us), jak zaprojektować wydajną baze danych
enigma
post
Post #1





Grupa: Zarejestrowani
Postów: 163
Pomógł: 0
Dołączył: 10.09.2006

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


witam (IMG:http://forum.php.pl/style_emoticons/default/smile.gif)
próbuję zrobić serwis z linkami podobny do del.icio.us (w frameworku symfony), i zastanawiam się jaką bazę danych stworzyć aby serwis działała wydajnie przy dużej liczbie użytkowników.
Na początek myślę o 5 tabelach
bookmarks
id
id_link
id_user
id_tags (tagi adresu, czyli np :1:2:3:4: - to id tagów z tabeli tags)
etykieta
opis
wizyty

tags
id
tag_name
visits

link
id
url

user
id
name
tags (tagi użytkownika, czyli np :1:2:3:4: - to id tagów z tabeli tags)

ogólnie jest tak że wszystkie linki są w tabeli linki żeby nie powielać jak 1000 osób wpisze onet.pl, podobnie z tabelą tags

nie wiem czy tak będzie wydajnie, czy może inaczej to zaprojektować ?
bo na przykład jak wykonam tag_cloud dla konkretnego użytkownika
to trzeba pobrać z tabeli user jego tagi(id), rozdzielić funkcją explode() i wyciągać nazwy z tabeli tags i baza nie rośnie tak szybko.
Czy może lepie dodać jeszcze jedną tabelę i w niej każdy tag danego użytkownika przechowywać w osobnym rekordzie i póxniej JOIN'a robić żeby wyciągnąć nazwy tagów

Proszę o sugestie ...

Ten post edytował enigma 25.09.2007, 20:00:10
Go to the top of the page
+Quote Post

Posty w temacie


Reply to this topicStart new topic
2 Użytkowników czyta ten temat (2 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 9.09.2025 - 04:13