Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [PHP/MySQL] Liczba kolumn w tabeli a wydajność
MalyKazio
post
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.
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
thek
post
Post #2





Grupa: Moderatorzy
Postów: 4 362
Pomógł: 714
Dołączył: 12.02.2009
Skąd: Jak się położę tak leżę :D




Wszystko zależy tylko i wyłącznie od "powtarzalności" danych w rekordzie. Jeśli do jednego rekordu trzeba mieć możliwość przypisania kilku identycznych danych to jest to już relacja jeden do wielu. A jeśli dodatkowo do tych wielu pasuje także wiele rekordów to masz wiele do wielu, co ewidentnie wskazuje Ci na oddzielenie wyników. Przykład "jeden do wielu"? Telefony. Jedna osoba może nie mieć ich wcale, jeden lub kilka (domowy, służbowy, komórkowy), ale tyczą one zawsze tylko tej jednej osoby gdyż nie może jeden telefon być własnością kilku (na upartego domowy mógłby być (IMG:style_emoticons/default/winksmiley.jpg) ). Wiele do wielu? Uczelnia - student. Jeden student może uczyć się na wielu uczelniach, a dodatkowo do jednej uczelni uczęszcza wielu studentów. Myślę, że to obrazowe przykłady. Tak więc jak widzisz, dane typu telefon wcale nie muszą być ściśle związane z kolumną. Wszystko zależy od struktury bazy i pomysłu na nią. To samo z adresem, bo przecież może być stały i tymczasowy. W takich przypadkach można więc dane teoretycznie nierozerwalnie z czymś związane - jeszcze wydzielić. Ale to już zależy naprawdę od tego czy trzeba czy nie. Nie zawsze jest sens.
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: 8.10.2025 - 21:50