Thread View: pl.comp.bazy-danych
6 messages
6 total messages
Started by Roman Tyczka
Wed, 16 Nov 2016 10:52
Normalizacja, wydajność, dużo danych
Author: Roman Tyczka
Date: Wed, 16 Nov 2016 10:52
Date: Wed, 16 Nov 2016 10:52
18 lines
1592 bytes
1592 bytes
Mam pytanie do praktyków. Mam sporą (kilka mln rekordów) bazę, która ma docelowo pracować na wirtualce, więc mocy nie będzie aż tak dużo, szukam więc optymalizacji. Główna tabela ma ponad 30 kolumn, ale w praktyce najczęściej będzie potrzebnych 5 do 10ciu. Czy jeśli podzielę tę tabelę na dwie, gdzie pierwsza będzie mieć te 10 ważniejszych kolumn, a druga pozostałe to uzyskam odczuwalną różnicę w odpytywaniu do tej tabeli? Na logikę nie powinno to mieć znaczenia, ale teoria z praktyką się nie zawsze lubi. Serwer to Firebird, ale w niedalekiej przyszłości będzie to PostgreSQL. Zapytania głównie wyszukujące po jednym kluczu. Czasami dwóch lub trzech (zawartych w tych 10ciu istotnych kolumnach). Jest sens bawić się w dzielenie czy nie? -- pozdrawiam Roman Tyczka
Re: Normalizacja, wydajność, dużo danych
Author: geos
Date: Wed, 16 Nov 2016 12:03
Date: Wed, 16 Nov 2016 12:03
30 lines
2626 bytes
2626 bytes
On 16.11.2016 11:52, Roman Tyczka wrote: > > Mam pytanie do praktyków. Mam sporą (kilka mln rekordów) bazę, która ma > docelowo pracować na wirtualce, więc mocy nie będzie aż tak dużo, szukam > więc optymalizacji. > Główna tabela ma ponad 30 kolumn, ale w praktyce najczęściej będzie > potrzebnych 5 do 10ciu. Czy jeśli podzielę tę tabelę na dwie, gdzie > pierwsza będzie mieć te 10 ważniejszych kolumn, a druga pozostałe to > uzyskam odczuwalną różnicę w odpytywaniu do tej tabeli? Na logikę nie > powinno to mieć znaczenia, ale teoria z praktyką się nie zawsze lubi. > Serwer to Firebird, ale w niedalekiej przyszłości będzie to PostgreSQL. > Zapytania głównie wyszukujące po jednym kluczu. Czasami dwóch lub trzech > (zawartych w tych 10ciu istotnych kolumnach). > > Jest sens bawić się w dzielenie czy nie? przeanalizuj zapytania. jeśli wybierają po kilka procent rekordów z użyciem indeksu to raczej nie. jeśli wybiera wiele % rekordów z użyciem full skanów na tabeli to być może tak. jeśli te 10 najczęściej wybieranych kolumn stanowi niewielki fragment rozmiaru wiersza to prawdopodobnie tak. jeśli stanowią znaczący rozmiar wiersza to prawdopodobnie nie. jeśli jest dostępna indeksowa organizacja tabeli to może to być jakieś wyjście aby to wykorzystać i ładować dane z pozostałych kolumn do osobnego segmentu. ogólnie odpowiedź można udzielić po przeanalizowaniu rozmiaru danych i zapytań, ale też nie musi być ona jednoznaczna. metoda empiryczna też jest dobrym podejściem -- jak masz środowisko testowe to spróbuj. pozdrawiam, geos
Re: Normalizacja, wydajność, dużo danych
Author: Ronald Kuczek
Date: Wed, 16 Nov 2016 20:46
Date: Wed, 16 Nov 2016 20:46
21 lines
2150 bytes
2150 bytes
W dniu 16.11.2016 o 11:52, Roman Tyczka pisze: > > Mam pytanie do praktyków. Mam sporą (kilka mln rekordów) bazę, która ma > docelowo pracować na wirtualce, więc mocy nie będzie aż tak dużo, szukam > więc optymalizacji. > Główna tabela ma ponad 30 kolumn, ale w praktyce najczęściej będzie > potrzebnych 5 do 10ciu. Czy jeśli podzielę tę tabelę na dwie, gdzie > pierwsza będzie mieć te 10 ważniejszych kolumn, a druga pozostałe to > uzyskam odczuwalną różnicę w odpytywaniu do tej tabeli? Na logikę nie > powinno to mieć znaczenia, ale teoria z praktyką się nie zawsze lubi. > Serwer to Firebird, ale w niedalekiej przyszłości będzie to PostgreSQL. > Zapytania głównie wyszukujące po jednym kluczu. Czasami dwóch lub trzech > (zawartych w tych 10ciu istotnych kolumnach). > > Jest sens bawić się w dzielenie czy nie? > Z mojego doświadczenia wynika, że podział ma sens ale analiza zapytań i testy nigdy nie zaszkodzą. Pozdrawiam Rony
Re: Normalizacja, wydajność, dużo danych
Author: M.M.
Date: Thu, 17 Nov 2016 12:42
Date: Thu, 17 Nov 2016 12:42
8 lines
1469 bytes
1469 bytes
On Wednesday, November 16, 2016 at 11:52:21 AM UTC+1, Roman Tyczka wrote: > Jest sens bawić się w dzielenie czy nie? W każdym przypadku jest trochę inaczej. W jednym przypadku który sprawdziłem ta technika wyraźnie przyspieszyła. Pozdrawiam
Re: Normalizacja, wydajność, dużo danych
Author: Roman Tyczka
Date: Thu, 17 Nov 2016 13:22
Date: Thu, 17 Nov 2016 13:22
11 lines
1144 bytes
1144 bytes
On Wed, 16 Nov 2016 11:52:19 +0100, Roman Tyczka wrote: > Jest sens bawić się w dzielenie czy nie? Ok, dziękuję za odpowiedzi, wiem, że to sprawa konkretnego przypadku, ale chodziło mi o przykłady/potwierdzenie, że to może dać efekt odczuwalny i takie potwierdzenie dostałem, więc podzielę. -- pozdrawiam Roman Tyczka
Re: Normalizacja, wydajność, dużo danych
Author: M.M.
Date: Sat, 19 Nov 2016 15:37
Date: Sat, 19 Nov 2016 15:37
11 lines
1855 bytes
1855 bytes
On Thursday, November 17, 2016 at 2:22:03 PM UTC+1, Roman Tyczka wrote: > On Wed, 16 Nov 2016 11:52:19 +0100, Roman Tyczka wrote: > > > Jest sens bawić się w dzielenie czy nie? > > Ok, dziękuję za odpowiedzi, wiem, że to sprawa konkretnego przypadku, ale > chodziło mi o przykłady/potwierdzenie, że to może dać efekt odczuwalny i > takie potwierdzenie dostałem, więc podzielę. Wrzuć wyniki jakie uzyskasz po podzieleniu. Pozdrawiam
Thread Navigation
This is a paginated view of messages in the thread with full content displayed inline.
Messages are displayed in chronological order, with the original post highlighted in green.
Use pagination controls to navigate through all messages in large threads.
Back to All Threads