Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [Wydajność] tabela z dużą liczbą kolumn, czy podzielić na mniejsze
Forum PHP.pl > Forum > Bazy danych > MySQL
_KuRT_
Witam

Jest to mój pierwszy post tutaj. Programowaniem w php zajmuje się kilka lat. Jednak w optymalizacji baz danych dobrze się nie czuję.
Wymyśliłem sobie stworzenie większego serwisu podobnego troche do grono.net. zabrałem sie za pisanie i przystanąłem na chwilę. Otóż, czy lepiej jest stworzyć tabelę użytkowników, zawierającą ~40 kolumn opisujących użytkownika ? czy podzielić na kilka mniejszych i każda tabelka by się odwoływała do id user'a poprzez user_id.

Każdy użytkownik może mieć tylko 1 cechę, dlatego wydaje mi się, że 1 duża tabela wystarczy, tylko jak się to zachowa przy większej liczbie danych ?
Fallout
Biorąc to na logikę przy większej ilości tabel powiązanych, będzie więcej zapytań.
A ilość kolumn chyba nie ma takiego znaczenia dla mysql_fetch_array(), gorzej gdy będziesz musiał wyciągać osobno poszczególne dane z poszczególnych wierszy, wtedy znowu się narobi masę zapytań.

Wg. mnie wyjdzie Ci raczej w praniu przy kodowaniu biggrin.gif

Istnieje takie coś jak normalizacja bazy danych. Jeśli uznasz, że tabela z użytkownikami jest znormalizowana, tzn nie da się jej bardziej rozbić (logicznie nie praktycznie, bo tak można zrobić i 20 kolumn) to rozbij ją. Ja po prostu jeśli wiem, że w strukturze pewne pola będą mi robić powatarznie danych z innych pól to wywalam do osbonej tabeli. Unikam wtedy nadmiarowości. Po prostu dobrze spójrz na strukturę swojej bazy i na jakie dane będą w niej.

Wrzuć może strukturę tej tabeli to będzie można się jakoś zastanowić, teoria nie jest moją mocną stroną ;p
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.