Skocz do zawartości

[MySQL]Struktura bazy danych


Tymon

Rekomendowane odpowiedzi

Witam. =)

 

Mam dość proste pytanie do zaawansowanych użytkowników. Otóż, mam obecnie zaplanowaną strukturę mojej bazy danych mniej więcej tak:

  • notes
    • id
    • typid
    • toid
    • userid
    • title
    • text
    • ...
  • users
    • id
    • name
    • pass
    • email
    • ...
I kilka innych tabel, ale są nieistotne. Teraz, całą zawartość stronę taką jak komentarze, tematy, nowości, posty, wiadomości opieram tylko i wyłącznie na tabeli notes i rozpoznaje odpowiednio po typid, wybieram mniej więcej tak ( to akurat komentarze ):
SELECT n.id, n.title, n.text, n.date, u.id AS userid, u.name AS username FROM notes n
LEFT JOIN users u ON u.id = n.userid
WHERE n.toid = $to AND n.typid = 2
GROUP BY n.id
...

Ułatwia mi to pracę na całej bazie no i daje możliwość szybkiego rozszerzania funkcjonalności strony, a bo mogę wprowadzić sobie nowe typid, np. 5 jako artykuły i wywołać odpowiednim zapytaniem ich wybieranie - wiadomo. Ale, pojawiają mi się wątpliwości przy wydajności ( nie jestem pewny użycia JOIN =P ) i zastanawiam się czy przypadkiem nie było by bezpieczniej umieścić wszystko w oddzielnych tabelach? Zależy mi głównie na wydajności i możliwości modyfikacji zawartości strony z poziomu samego SQLa.

 

Oczywiście jestem zabezpieczony przed SQL Injection już na starcie. =)

Odnośnik do komentarza
Udostępnij na innych stronach

  • Filar Społeczności

Jest dobrze i niczego nie zmieniaj. Wydajności nie tracisz prawie w ogóle, chyba że to strona na tysiące osób online na raz.

 

Jedyny sensowny sposób na zoptymalizowanie tego to cache'owanie zapytań (np. silnikiem memcached). A jeśli chodzi o php, to tutaj fajna biblioteka:

http://openpb.net/opd.php

 

Tylko pamiętaj, że cache'owanie wymaga wprowadzenia dodatkowej kontroli "świeżości danych".

Odnośnik do komentarza
Udostępnij na innych stronach

Jeśli chcesz dodać odpowiedź, zaloguj się lub zarejestruj nowe konto

Jedynie zarejestrowani użytkownicy mogą komentować zawartość tej strony.

Zarejestruj nowe konto

Załóż nowe konto. To bardzo proste!

Zarejestruj się

Zaloguj się

Posiadasz już konto? Zaloguj się poniżej.

Zaloguj się
  • Ostatnio przeglądający   0 użytkowników

    • Brak zarejestrowanych użytkowników przeglądających tę stronę.
×
×
  • Dodaj nową pozycję...