Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [PostgreSQL] Wydajność tabeli z bardzo dużą ilością kolumn, Pytanie WYŁĄCZNIE do doświadczonych programistów
The Night Shadow
post
Post #1





Grupa: Zarejestrowani
Postów: 495
Pomógł: 2
Dołączył: 5.02.2006
Skąd: Wrocław

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


Witam,

Czy bazy danych PostgreSQL dobrze sobie radzą z wydajnością w przypadku utworzenia tabeli o bardzo dużej ilości kolumn (nawet do 200-250)?

Mamy zbiór pewnych obiektów, które mają BARDZO dużo różnego rodzaju właściwości. Te właściwości mają umożliwiać szybkie filtrowanie danych. Właściwości nie dają się łączyć w pary itp. stąd konieczność korzystania z osobnych pól dla każdej z nich. Powstała teoria mówiąca, iż najlepiej jest rozdzielić takie dane do kilku tabel. W pierwszej tabeli trzymać właściwości z danej grupy właściwosci, w drugiej z drugiej grupy właściwości itd. Sęk w tym, że w momencie przeszukiwania instrukcje JOIN będą bardzo obciązały bazę.

Jestem zdania, że w sytuacji, w której mamy do czynienia z integralnymi właściwościami należy to zbudować na jednej tabeli o bardzo dużej ilości kolumn.

Uproszę. W tabeli z użytkownikami mamy imię i nazwisko oraz adres. Nie rozdzielamy tego na dwie tabele, bo w przypadku przeszukiwania takie rozwiązanie będzie stanowiło nie lada problem. Podobna sytuacja tylko na większą skalę dotyczy sytuacji wyżej opisanej tabeli.

Niech mnie ktoś poprawi jeżeli się mylę.

Pozdrawiam!
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
wookieb
post
Post #2





Grupa: Moderatorzy
Postów: 8 989
Pomógł: 1550
Dołączył: 8.08.2008
Skąd: Słupsk/Gdańsk




Joiny nie będą tak bardzo obciążały bazy jeżeli będą to odpowiednie joiny dostosowane do potrzeb (inner join np), dodatkowo odpowiednie klucze. W przypadku gdy danych będzie ogromna ilosć warto by było się zastanowić nad dobrym serwerem dedykowanym (z procesorem 4 lub więcej rdzeniowym), gdzie przy takich maszynach postgres sprawdza się lepiej.
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: 23.10.2025 - 17:23