Aktywne Wpisy
peterr767 +156

estemen +106
Cześć,
przygotowałem prostą stronkę MirkoProfil, która z pomocą AI generuje profil psychologiczny Mirków i Mirabelek na podstawie ich wpisów.
https://mirkoprofil.v990.net/
Strona
przygotowałem prostą stronkę MirkoProfil, która z pomocą AI generuje profil psychologiczny Mirków i Mirabelek na podstawie ich wpisów.
https://mirkoprofil.v990.net/
Strona





Zauważyłem niedawno, że szybko puchnie mi baza danych. Postanowiłem to sprawdzić. Zapytałem bazę ile poszczególne tabele ważą i tutaj nastąpiło moje zdziwienie bo taka tabela z 20 000 wierszy waży 3,3 MB. Trochę dużo. Wyeksportowałem tabelę do pliku CSV i taki plik zajmuje mi już 1,1 MB. Możecie mi powiedzieć czemu w bazie zajmuje mi to tak dużo miejsca? Da się to jakoś zoptymalizować?
Zastanawiam się teraz nad celowością używania SQL w moich aplikacjach. Niby fajny dostęp i wydajność, ale dość dużym kosztem zajmowanego miejsca.
Wartość którą widzisz to dane, indeksy, metadane, zarezerwowane miejsce
@Kicer86: Dane nie były ani razu zmieniane. Są tylko dodawane i wyświetlane. Taka aplikacja.
@poszlo_wyszlo: Ogólnie struktura tabeli wygląda jak na obrazie
źródło: comment_T59VGjdrhu8UgHm9dw9R9OHylQ7CgQuB.jpg
Pobierz@MacDada: Takich tabel mam setki a będą tysiące
Rozwiązanie problemu natomiast będzie zależne o tego, jakie dane tam masz i co z nimi robisz. Najprościej byłoby
Ogólnie to mam takie typy danych jak na obrazie.
Jedyne co teraz dostrzegam to:
-Pierwszą kolumnę (bigint) mógłbym zmienić na int
-Komunę text mógłbym zmienić na jakaś bardziej optymalną (np. o stałej długości)
-smallInt mógłbym zmienić na tinyint
źródło: comment_FYW7KJ6nHT3913KzQscTnHZK7fXSyPEB.jpg
Pobierztak jak chłopaki mówili, przy takich rozmiarach nie masz czym się martwić.
źródło: comment_XX6lKS6Rfy9T0hbFLSvhS7vrLG9sWC63.jpg
Pobierz@debesciak1:
1. Jak masz setki czy tysiące tabel, to coś
@zjadak: Teraz nie mam dostępu do programu, ale log był w porządku.
@debesciak1: 2000 tabel to mało? Po co tyle tabel produkujesz? Mam wrażenie, że gdzieś masz błąd w dizajnie.
@MacDada: składnia zapewne jest inna w Postgres?
@debesciak1: 30k rekordów to jest nic. Na MySql trzymamy po kilka(naście) milionów rekordów. Twoje ograniczenie wynika z ograniczeń bazy danych ;)
Na produkcji używamy wszędzie MySQL (+odmianę w postaci serwera Percona) i w jednym projekcie Mongo. Na studiach korzytałem z PostgreSQL i generalnie czytam na temat tej bazki przeważająco pozytywne opinie.
Tak więc w pracy nowe projekty stawiamy na MySQL (bo mamy opanowaną infrastrukturę), a jakbym robił jakiś projekt dla siebie, to bym wziął PostgreSQL. Czemu miałbym płacić
Albo wielkość logu.
Albo wielkość indeksu.
Albo nieoptymalnie wielkie pola.
Niby mówisz, że będziesz generował tabele żeby uzyskać podział danych. Tylko takie rzeczy załatwiają indeksy. Dzięki temu baza jest human-readable a nie wygląda jak kupa śmieci.
źródło: comment_PlmyUd5dLvtL6XhPPeRoxbiqnljEyecZ.jpg
Pobierz