Strona 1 z 1

Baza danych • Kompaktowanie, czyli oczyszczanie i przyspieszanie bazy

: 28 mar 2024, 00:00
autor: PhotoSoft
BARDZO WAŻNE :!: Przed kompaktowaniem ZALECANE jest wykonanie kopii zapasowej, ponieważ może się zdarzyć, że w trakcie procesu coś pójdzie nie tak i baza zostanie uszkodzona.
Podczas usuwania z bazy starych aukcji czy transakcji nie zmniejsza się rozmiar pliku bazy. Dzieje się tak z powodów wydajnościowych - oczyszczaniem bazy steruje automatycznie sterownik Firebird.

Jednak jeśli chcemy przenieść bazę na inny komputer czy wgrać na serwer powstaje pewien problem, bo pomimo usunięcia niepotrzebnych danych plik bazy zajmuje cały czas tyle samo np. 2GB zamiast 500MB.
:idea: Przed kompaktowaniem, należy pousuwać zbędne dane z bazy - głównie chodzi o stare zakończone aukcje, archiwum czy szablony, bo one zajmują najwięcej miejsca.

Warto również zastanowić się nad przeniesieniem zdjęć z bazy na dysk co da najlepszy efekt zmniejszenia rozmiaru bazy :arrow: viewtopic.php?t=3180
Kompaktowanie można wykonać na dwa sposoby:
  • poprzez EU, jeśli korzystamy z połączenia lokalnego z bazą i mamy na dysku z EU co najmniej 2x tyle wolnego miejsca ile zajmuje baza (czyli dla bazy 5GB potrzebne będzie dodatkowe 10GB wolnego miejsca),

  • poprzez skrypt, jeśli korzystamy z połączenia zdalnego lub nie mamy wystarczającej ilości miejsca na dysku z EU.
    :idea: Zalecane jest korzystanie z tego sposobu, ponieważ jest skuteczniejszy. Aby wykonać kompaktowanie poprzez skrypt, należy wykonać wszystko zgodnie z instrukcją viewtopic.php?t=1386 z tą różnicą, że w pkt. 5. należy uruchomić plik "_kompaktowanie_bazy.bat". Pkt. 6. już nie trzeba wykonywać.

    Po zakończeniu kompaktowania kopiujemy plik z bazą do pierwotnej lokalizacji.

Kompaktowanie poprzez EU

W zakładce "Ustawienia -> Konfiguracja -> Baza danych" można wymusić oczyszczenie bazy klikając na "Kompaktuj bazę".

Obrazek

W tej zakładce można również przyspieszyć wczytywanie listy aukcji i transakcji.
UWAGA :!: W przypadku pracy wielostanowiskowej przed kompaktowaniem na stanowisku z bazą, należy przełączyć się na połączenie lokalne oraz wyłączyć wszystkie kopie EU na pozostałych komputerach w sieci.

Funkcja nie działa w przypadku serwerów VPS. Aby skompaktować taką bazę, należy ją zgrać z serwera do katalogu "db" nadpisując plik "baza.eu3" i potem przełączyć się w EU na połączenie lokalne.