Jak wydajniej zbudować tabele
R2K - 16-03-2007 00:02
Jak wydajniej zbudować tabele
Witam,
Zastanawiam się które rozwiązanie będzie wydajniejsze. Czy możecie wyrazić swoją opinie?
Baza osób i usług - ale skupmy się na osobach. Ilość osób może sięgnąć 100.000
Wariant 1
Każde pole przechowuje w osobnych tabelach i łącze relacjami: Tabela z województwami Tabela z miastami z polem id województwa Tabela z osiedlami z polem id miasto Tabela z ulicami z polem id osiedle Tabela budynków z polem id ulicy Tabela lokalów z polcem id budynku i w końcu tabela osoby (imie nazwisko pesel etc ) i oczywiście pole id lokalu.
niby wszystko poukładane ale szukanie osób w województwach wymaga wielu join'ów.
Wariant 2
Tabela województw, ulic, osiedli, miast, budynkow, lokali jak wyżej ale tabela osoby posiada oprócz ID lokalu, ID budynku, ID, ulicy etc... dzięki czemu łatwo będzie można wyszukać wszystkie osoby z danego województa bez kilku join'ów. dodatkowo zachowujemy strukturę jak wyżej. aktualizacją tych dodatkowych pół zajmuje się trigger - więc nie musimy nic dodatkowo aktualizaować
A może jest jakis wariant 3 ?
Pozdrawiam.
=?ISO-8859-2?Q?S=B3awomir_Szysz=B3o?= - 16-03-2007 00:02
=?ISO-8859-2?Q?Re:_Jak_wydajniej_zbudowa=E6_tabele?=
Dnia Thu, 15 Mar 2007 17:40:46 +0100, "R2K" <robikus@op.pl> wklepał(-a):
>Witam, > >Zastanawiam się które rozwiązanie będzie wydajniejsze. Czy możecie wyrazić >swoją opinie? > >Baza osób i usług - ale skupmy się na osobach. >Ilość osób może sięgnąć 100.000 > >Wariant 1 > >Każde pole przechowuje w osobnych tabelach i łącze relacjami: >Tabela z województwami >Tabela z miastami z polem id województwa >Tabela z osiedlami z polem id miasto >Tabela z ulicami z polem id osiedle >Tabela budynków z polem id ulicy >Tabela lokalów z polcem id budynku >i w końcu tabela osoby (imie nazwisko pesel etc ) i oczywiście pole id >lokalu. > >niby wszystko poukładane ale szukanie osób w województwach wymaga wielu >join'ów.
A pomyślałeś o tym, że może trafić się miejscowość/ulica, której nie masz w bazie? Będziesz dawał użytkownikom dostęp do tabel słownikowych? To najprostszy sposób na zepsucie jakości słowników. Może zrób po prostu tabele słownikowe, na podstawie których użytkownik może wyszukać sobie dane, ale może też wpisać dane "z ręki". Ewentualnie województwa mogą być do wyboru tylko z listy, bo tu akurat zmiany są z wyprzedzeniem wiadome. -- Sławomir Szyszło mailto:slaszysz@poczta.onet.pl Primus inter FAQires & Grand Inquisitor no.0 of pl.comp.bazy-danych FAQ pl.comp.bazy-danych http://www.dbf.pl/faq/ Archiwum http://groups.google.com/groups?grou...mp.bazy-danych
zanotowane.pldoc.pisz.plpdf.pisz.pleffulla.pev.pl
|
=?ISO-8859-2?Q?Poszukjue_ksi=B1=BFki_"Oracle_?= =?ISO-8859-2?Q?optymalizacja_wydajno=B6ci"..?=
mysql+php - =?ISO-8859-2?Q?wydajno=B6=E6_przy_olbrzymiej_i?==?ISO-8859-2?Q?lo=B6ci_rekord=F3w?=
[ORACLE] Dodanie kolumny typu BLOB - =?ISO-8859-2?Q?wp=B3yw_na?==?ISO-8859-2?Q?_wydajno=B6c?=
Dwie bazy czy dwie tabele?
[MySQL] Mysqldump i tabele o =?ISO-8859-2?Q?okre=B6lonych_prze?==?ISO-8859-2?Q?drostkach?=
[PGSQL] Funkcje =?ISO-8859-2?Q?zwracaj=B1ce_=27rowset=27_i_?==?ISO-8859-2?Q?tabele_tymczasowe?=
[MySQL] Jak =?ISO-8859-2?Q?zaprojektowa=E6_tabele=3F_Wyniki_?==?ISO-8859-2?Q?pojedynk=F3w=2C_meczy_-_tenis?=
btrieve 6.15; geo-info2000; mala wydajnosc sieci - prosba o pomoc
=?iso-8859-2?q?select_sum_i_dwie_tabele..._b=B3=EAdna_agregac ja?=
Wydajność baz danych w zależności od poziomu izolacji ANSI/ISO
zanotowane.pldoc.pisz.plpdf.pisz.plred-hacjenda.opx.pl
Cytat
Decede mihi sole - nie zasłaniaj mi słonca. Gdy kogoś kochasz, jesteś jak stworzyciel świata - na cokolwiek spojrzysz, nabiera to kształtu, wypełnia się barwą, światłem. Powietrze przytula się do ciebie, choćby był mróz, a ty masz w sobie tyle radości, że musisz ją rozdawać wokoło, bo się w tobie nie mieści Hoc fac - tak czyń. A tergo - od tyłu; z tyłu. I czarne włosy posiwieją. Safona |
|