Insert Gratyfikant nexo – optymalizacja wydajności bazy danych

Insert Gratyfikant nexo – optymalizacja wydajności bazy danych

Po kilku latach użytkowania programu Insert Gratyfikant nexo użytkownicy mogą zauważyć stopniowe spowolnienie – listy płac naliczają się dłużej, otwieranie modułów trwa kilkanaście sekund zamiast kilku, a generowanie zestawień płacowych blokuje aplikację na długi czas. Przyczyny zależą od technologii bazodanowej: SQLite wymaga regularnego VACUUM i analizy indeksów, natomiast SQL Server – planowania indeksów, statystyk, fragmentacji i konfiguracji pamięci serwera. Platforma nexo oferuje też własne narzędzia optymalizacyjne dostępne przez moduł administracyjny.

Nasz serwis optymalizuje wydajność baz danych Gratyfikant nexo (zarówno SQLite, jak i SQL Server), przywracając płynne i szybkie działanie systemu kadrowo-płacowego.

Optymalizacja bazy SQLite w Gratyfikant nexo

VACUUM – defragmentacja SQLite

SQLite nie defragmentuje automatycznie bazy po usuwaniu rekordów. Polecenie VACUUM przebudowuje bazę od zera, odzyskując nieużywane miejsce i defragmentując strony:
sqlite3 baza.sdf "VACUUM;"
Operacja tworzy tymczasowo kopię bazy – wymaga wolnego miejsca na dysku (~1,5× rozmiar bazy). Zalecamy wykonywać po każdym zamknięciu roku kadrowego.

ANALYZE – aktualizacja statystyk

SQLite korzysta z statystyk tabel do planowania zapytań. Po dużych zmianach danych aktualizujemy statystyki:
sqlite3 baza.sdf "ANALYZE;"
Aktualna statystyka zapewnia optymalny plan wykonania dla częstych zapytań (np. filtrowanie pracowników, pobieranie list płac za dany miesiąc).

Optymalizacja SQL Server w Gratyfikant nexo

Rebuild fragmentowanych indeksów

Indeksy SQL Server fragmentują się przy częstych operacjach INSERT/UPDATE/DELETE. W SSMS lub przez skrypt T-SQL wykonujemy przebudowę indeksów dla bazy Gratyfikant nexo:
ALTER INDEX ALL ON tabela REBUILD WITH (ONLINE = OFF);
Dla małych baz (SQL Server Express) zalecamy tygodniowe lub miesięczne przebudowy indeksów w oknie serwisowym.

Aktualizacja statystyk SQL Server

EXEC sp_updatestats; – aktualizuje statystyki dla wszystkich tabel w bieżącej bazie. Optymalizator SQL Server korzysta ze statystyk do doboru planów wykonania zapytań. Przestarzałe statystyki to częsta przyczyna nagłego spadku wydajności.

Konfiguracja pamięci SQL Server

SQL Server domyślnie może zająć całą dostępną pamięć RAM. Dla serwera z Gratyfikant nexo i innymi aplikacjami ustawiamy maksymalną pamięć SQL Server:
SSMS → właściwości serwera → Pamięć → Max server memory: np. 2048 MB (dla serwera z 8 GB RAM).

Optymalizacja na poziomie nexo.Serwis

Gratyfikant nexo i nexo.Serwis mają własną warstwę cache'owania często używanych danych. W konfiguracji nexo.Serwis możemy dostosować:

  • Rozmiar puli połączeń z bazą danych (connection pool size)
  • Timeout nieaktywnych połączeń
  • Rozmiar cache'u zapytań
Optymalne ustawienia zależą od liczby jednoczesnych użytkowników i dostępnej pamięci RAM serwera.