Tymon Opublikowano 12 Maja 2007 Udostępnij Opublikowano 12 Maja 2007 Witam. =) Mam dość proste pytanie do zaawansowanych użytkowników. Otóż, mam obecnie zaplanowaną strukturę mojej bazy danych mniej więcej tak: notesid typid toid userid title text ... usersid 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 Więcej opcji udostępniania...
Filar Społeczności Ranmus Opublikowano 12 Maja 2007 Filar Społeczności Udostępnij Opublikowano 12 Maja 2007 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 Więcej opcji udostępniania...
Rekomendowane odpowiedzi
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ę