konto usunięte

Temat: Zmiana struktury tabel

Na blogu GRONO.net panowie napisali ze aby zmniejszyc load servera BD wprowadzili zmiene w strukturze tabel:

w mysqlu były 2 tabelki w iluśtam bazach (partycjonowane).
w postgresie są 3 tabelki, bez partycjonowania. struktura została praktycznie taka sama – zmiana tyczy się tego, że treść wiadomości została wydzielona do innej tabelki (innej niż pozostałe dane wiadomości

komentarz uzytkownika:

samo rozdzielenie tego w mysql’u zwieksza jego wydajnosc (wielokrotnie) – przekonalem sie na bazie 2mln wierszy, wiec przy waszej wielkosci przyrost predkosci bylby jeszcze wiekszy (wyszukiwanie odpowiednich msg odbywa sie wtedy przy obliczaniu stalej dlugosci elementu tabeli, bez uwzgledniania kolumn o roznej dlugosci). taka zmiana wplynela na roznice wydajnosc


PYTANIE: o co dokladnie chodzi( i czemu to zmniejsza load servera) w zdaniu :
(wyszukiwanie odpowiednich msg odbywa sie wtedy przy obliczaniu stalej dlugosci elementu tabeli, bez uwzgledniania kolumn o roznej dlugosci) ???
Jakub L.

Jakub L. Programista

Temat: Zmiana struktury tabel

varchar?

konto usunięte

Temat: Zmiana struktury tabel

Typuję na to samo. Jak masz kolmnę typu CHAR(X) to wyszukiwanie działa szybciej, bo wielkość każdego rekordu jest znana. VARCHAR (X) to taka róża z kolcami ;) gdzie czas wyszukiwania to kolce, ze względu na ( jak skrót samej nazwy wskazuje ) zmienną ilość znaków.

Pozdrawiam
Rafal

konto usunięte

Temat: Zmiana struktury tabel

Podstawowa optymalizacja polegała na tym, że treść wiadomości jest trzymana raz. Wcześniej adresat i nadawca mieli swoje kopie. Dodatkowo okazało się, że bardzo mała ilość wiadomości jest na tyle duża, że PG musi używać TOASTów. Dzieje się tak dlatego, że tekst się ładnie kompresuje - a PG ładnie z tego korzysta. Głównym celem było zmniejszenie rozmiaru danych, tak, żeby lepiej wykorzystać RAM i pasmo z dysków.

Samo partycjonowanie nie bardzo ma sens, bo PG doskonale radzi sobie z bardzo dużymi tabelami. Gdzieś słyszałem, że partycjonowanie zaczyna się opłacać jeżeli tabela ma więcej niż 700 mln wierszy... Zyski są inne - można włączyć/wyłączyć partycję, archiwizować, przebudowa indeksów dotyczy tylko części danych.

Następna dyskusja:

Struktury Drzewiaste




Wyślij zaproszenie do