Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [MYSQL] Ilość pól w tabeli
styryl
post
Post #1





Grupa: Zarejestrowani
Postów: 223
Pomógł: 27
Dołączył: 16.04.2008
Skąd: Bakutilu

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


Witam

Mam takie małe pytanie. Czy ilość pól w tabeli ma znaczenie jeżeli chodzi o wydajność itd. Czy mozna w tabeli dodawać
np 70-100 pól. Czy raczej szukać rozwiązań mających na celu zmniejszenie liczby pól a zwiększeniem liczby tabel?

Pozdrawiam
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi (1 - 12)
pyro
post
Post #2





Grupa: Zarejestrowani
Postów: 2 148
Pomógł: 230
Dołączył: 26.03.2008

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


Raczej powinno się to rozłożyc na większe ilości tabel, ale to już zależy od konkretnej sytuacji
Go to the top of the page
+Quote Post
piotrooo89
post
Post #3


Newsman


Grupa: Moderatorzy
Postów: 4 005
Pomógł: 548
Dołączył: 7.04.2008
Skąd: Trzebinia/Kraków




nikt Ci nie zabroni dać 100 kolumn w tabeli, ale jak napisał pyro może to nie być rozwiązanie godne polecenia wszystko zależy co chcesz zrobić.
Go to the top of the page
+Quote Post
styryl
post
Post #4





Grupa: Zarejestrowani
Postów: 223
Pomógł: 27
Dołączył: 16.04.2008
Skąd: Bakutilu

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


No to mozę tak: chce zrobić opis telefonów komórkowych tzn opcje, funkcje itd. Dane nie bedą służyły do wyszukiwania (tylko nazwa modelu) tylko wyświetlanie nic pozatym. Więc jak myślicie rozłożyć na kilka tabel czy w jednej zostawić? Przy czym każde z pól bedzie zawierało od 3 do 10 znaków.
Go to the top of the page
+Quote Post
JoShiMa
post
Post #5





Grupa: Zarejestrowani
Postów: 1 374
Pomógł: 149
Dołączył: 1.03.2006

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


Ja rozbijam tabelę na mniejsze jeśli:
1. Żadne zapytanie nie będzie potrzebowało wszystkich pól, albo takie zapytanie będzie występowało sporadycznie
2. Jest szansa że duża ilość rekordów będzie miała w którejś kolumnie (albo w kilku) NULL

Rzecz jasna nie twierdzę, że robię dobrze, ale też nie posługuję się (przynajmniej na razie) bardzo dużymi bazami.

Oczywiście tworzę dodatkowe tabele, żeby w miarę możliwości uniknąć redundancji danych, ale to chyba jest powszechnie wiadome.



Cytat(styryl @ 5.06.2008, 14:30:49 ) *
No to mozę tak: chce zrobić opis telefonów komórkowych tzn opcje, funkcje itd. (...) Przy czym każde z pól bedzie zawierało od 3 do 10 znaków.


Jeśli np funkcje mogą się powtarzać w różnych modelach zrób tabelę z powiązaniami ID->funkcja a do tabeli głównej wstawiaj tylko ID jako klucz obcy.

Ten post edytował JoShiMa 5.06.2008, 15:33:04
Go to the top of the page
+Quote Post
piotrooo89
post
Post #6


Newsman


Grupa: Moderatorzy
Postów: 4 005
Pomógł: 548
Dołączył: 7.04.2008
Skąd: Trzebinia/Kraków




ja w tym Twoim konkretnym przypadku rozbił bym na kilka tabel, i jak napisała JoShiMa będziesz mógł uniknąć redundancji, jak będziesz chciał zrobić relacje np 1 - wielu to możesz mieć problem w jednej tabeli to zrobić.
Go to the top of the page
+Quote Post
l0ud
post
Post #7





Grupa: Zarejestrowani
Postów: 1 387
Pomógł: 273
Dołączył: 18.02.2008

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


styryl, raczej nie polecam takiego układu bazy w Twoim przypadku. Z czasem będzie mogła być potrzeba dodania kolejnych pól, i tabela zrobi się szeroka z bardzo dużą ilością miejsc niewykorzystanych.

Lepiej zrób coś na ten wzór:

Tabela phones
- identyfikator telefonu
- nazwa modelu

Tabela phone_parameters
- identyfikator parametru [łatwiejsza edycja, usuwanie]
- identyfikator telefonu
- nazwa parametru
- wartość parametru

I połączyć te obie tabele przed identyfikator telefonu (IMG:http://forum.php.pl/style_emoticons/default/smile.gif)
Go to the top of the page
+Quote Post
styryl
post
Post #8





Grupa: Zarejestrowani
Postów: 223
Pomógł: 27
Dołączył: 16.04.2008
Skąd: Bakutilu

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


Super rozbije na kilka tabel, dziękuje panowie
Go to the top of the page
+Quote Post
JoShiMa
post
Post #9





Grupa: Zarejestrowani
Postów: 1 374
Pomógł: 149
Dołączył: 1.03.2006

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


Cytat(styryl @ 5.06.2008, 14:40:11 ) *
dziękuje panowie

I Panie (IMG:http://forum.php.pl/style_emoticons/default/tongue.gif)
Go to the top of the page
+Quote Post
styryl
post
Post #10





Grupa: Zarejestrowani
Postów: 223
Pomógł: 27
Dołączył: 16.04.2008
Skąd: Bakutilu

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


Oczywiście panią również dziękujemy (IMG:http://forum.php.pl/style_emoticons/default/biggrin.gif)
Go to the top of the page
+Quote Post
dr_bonzo
post
Post #11





Grupa: Przyjaciele php.pl
Postów: 5 724
Pomógł: 259
Dołączył: 13.04.2004
Skąd: N/A

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


l0ud:
Cytat
Tabela phones
- identyfikator telefonu
- nazwa modelu

Tabela phone_parameters
- identyfikator parametru [łatwiejsza edycja, usuwanie]
- identyfikator telefonu
- nazwa parametru
- wartość parametru

A gdzie tabelka z samymi parametrami? Czyli pelna relacja wiele do wielu: Telefony, Parametry, Posiadane_Parametry_Przez_Telefon?
Go to the top of the page
+Quote Post
l0ud
post
Post #12





Grupa: Zarejestrowani
Postów: 1 387
Pomógł: 273
Dołączył: 18.02.2008

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


dr_bonzo, ja to uprościłem do bólu (IMG:http://forum.php.pl/style_emoticons/default/winksmiley.jpg) Chodziło tylko o pokazanie, jak do pewnego konkretnego modelu telefonu przypisać unikalne parametry z innej tabeli - po prostu nazwa i treść parametru w formie tekstu. Wiem, że to nieoszczędne i mamy nadmiarowość informacji ale jak już pisałem... proste do bólu (IMG:http://forum.php.pl/style_emoticons/default/smile.gif)
Go to the top of the page
+Quote Post
piotrooo89
post
Post #13


Newsman


Grupa: Moderatorzy
Postów: 4 005
Pomógł: 548
Dołączył: 7.04.2008
Skąd: Trzebinia/Kraków




styryl musi trochę inwencji wykazać i sam coś napisać... naprowadziliśmy go tylko.
Go to the top of the page
+Quote Post

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: 22.08.2025 - 23:03