![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 6 Pomógł: 0 Dołączył: 27.08.2006 Ostrzeżenie: (0%) ![]() ![]() |
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 ? |
|
|
![]() |
![]()
Post
#2
|
|
![]() Grupa: Zarejestrowani Postów: 154 Pomógł: 0 Dołączył: 17.12.2003 Skąd: Olsztyn Ostrzeżenie: (0%) ![]() ![]() |
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 ![]() 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 -------------------- ![]() |
|
|
![]() ![]() |
![]() |
Wersja Lo-Fi | Aktualny czas: 13.08.2025 - 23:19 |