![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 168 Pomógł: 1 Dołączył: 19.11.2005 Ostrzeżenie: (0%) ![]() ![]() |
Witam.
Przyszło mi rozbudować nieco dane przechowywane w tabelach w bazie danych ale w trakcie zacząłem zastanawiać się nad sensownością mojego pomysłu. Otóż mam tabelę zbudowaną z około 40 kolumn. Większość z nich jest typu int. Czy można jeszcze do takiej tabeli dodawać kolejne kolumny, czy też raczej lepiej stworzyć nową tabelę i tam je wrzucać? Czy ilość kolumn ma jakieś widoczne przełożenie na wydajność zapytań i całego kodu napisanego w php? Z jednej strony chyba bezsensowne jest dzielenie tabel i potem ich łącznie za pomocą JOIN, czy nawet późniejsze sklejanie tablic z rezultatami zapytań, ale z drugiej taki podział nie wydaje się całkiem pozbawiony sensu. |
|
|
![]() |
![]()
Post
#2
|
|
Grupa: Zarejestrowani Postów: 58 Pomógł: 5 Dołączył: 12.12.2008 Ostrzeżenie: (0%) ![]() ![]() |
Czy ktoś miał podobny problem?
Aktualnie projektuję bazę i już mam tabelę, która ma około 40 kolumn. Dodam też, że wszystkie dane, które można rozdzielić są przechowywane w oddzielnych tabelach (powtarzające się dane). Gdzieś udało mi się wyczytać, że rozdzielanie danych może wpłynąć później w przyszłości na czas zapytania (negatywnie). Danych takich jak: imie, nazwisko, data urodzenia, adres, pesel, telefon, mail, telefon kom itp to wiadomo, że nie mogę rozdzielić bo nie ma sensu dodatkowo muszę jeszcze przechowywać uczelnie jakie dana osoba ukończyła (uczelnia, wydział, kierunek, stopień, specjalność, rodzaj studiów zaoczne/dzienne/wieczorowe, rok rozpoczęcia) Jak widać każde zapamiętanie pełnych danych uczelni powoduje dodatkowe 7 kolumn. Muszę przechowywać 3 uczelnie, więc dochodzi kolejne 21 kolumn + dane itp... Zastanawiam się, czy stworzyć oddzielną tabelę np UCZELNIE i tam stworzyć te 7 kolumn + dodatkowe, w których będę przechowywał tylko ID użytkownika, do których należą dane wpisy ? W pewnym stopniu zoptymalizuje to gromadzenie np pustych wpisów jeżeli dana osoba ukończyła 1 uczelnie, a z drugiej strony wymusza "skakanie" po tabelach... Mógłby ktoś doradzić co z tym zrobić, aby było to optymalne? |
|
|
![]() ![]() |
![]() |
Aktualny czas: 5.10.2025 - 20:44 |