Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> Optymalizacja bazy
TakiJakis
post
Post #1





Grupa: Zarejestrowani
Postów: 54
Pomógł: 0
Dołączył: 7.11.2004

Ostrzeżenie: (40%)
XX---


Założmy, że mamy bazę danych, w niej tabelę posty. W tej tabeli komórki autor_id, data, treść itp... Założmy, że treść jest zwykle długa. Czy opłaca robić się osobną tabelę dla treści? Jeśli tak, to w jakich sytuacjach to się opłaci?

Np. na czym polega szukanie, np. "SELECT COUNT(*) FROM posty". Czy to pobiera wszystkie wartości (czyli im więcej tekstu w komórce treść, tym dłużej zapytanie będzie trwało)?
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
TakiJakis
post
Post #2





Grupa: Zarejestrowani
Postów: 54
Pomógł: 0
Dołączył: 7.11.2004

Ostrzeżenie: (40%)
XX---


Cytat(Sh4dow @ 25.10.2006, 06:48:29 ) *
Po pierwsze jesli 1 pole z trescia jest przypisywane do jednego rekordu z postem to nie rozdzielamy tablicy. Jeżeli natomiast jedno pole z tresciu nalezy do wielu rekordow z postami lub wiele tresci nalezy do jednego rekordu to wtedy sie rozdziela tablice.

W tabeli z postami, np. na forum, praktycznie każdy post ma swoją własną, unikalną treść i na odwrót. Zatem rozumiem, że nie zgadzasz się z MaKARONem?
Go to the top of the page
+Quote Post
Sh4dow
post
Post #3





Grupa: Zarejestrowani
Postów: 569
Pomógł: 0
Dołączył: 17.08.2003
Skąd: Dąbrowa Górnicza

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


Cytat(TakiJakis @ 25.10.2006, 10:14:43 ) *
W tabeli z postami, np. na forum, praktycznie każdy post ma swoją własną, unikalną treść i na odwrót. Zatem rozumiem, że nie zgadzasz się z MaKARONem?

Tak zarczej sie nie zgadzam z MaKARoNem poniewaz rozdzielanie takiej tablicy spowoduje jedynie obnizenie optymalizacji. Tak jak mowiłem dodaj index FULLTEXT (jesli twoja wersja mysqla pozwala na to), poszukaj sobie metod przeszukiwania w SQL (poszukaj w manuala MATCH AGAINST, jesli dobrze to pamietam). Wszystkie kolumny łączące relacje między tabelami, np. user_id, topic_id i inne dodawaj jako INDEX w tablicy. Bedziesz czesto łączył tablice po tych kolumnach wiec bedzie działa dużo szybciej. W sumie tak wygląda koniec optymalizacji tej tablicy. Przy innych moze być podobnie, chyba ze masz inne relacje miedzy tablicami to może być troche inaczej. Życze powodzenia. Po optymalizacji rzetestuj sobie tak napisane forum przy ilości postow na poziomie 10-500 tys rekordow dla znalezienia ewentualnych "wąskich gardeł"
(IMG:http://forum.php.pl/style_emoticons/default/guitar.gif)
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: 7.10.2025 - 05:16