Odświeżanie bazy danych

0

Witam!
Nie wiem czy to dobry dział bo miałem dylemat czy JAVA czy może bazy danych. Mam aplikację w Javie i bazę danych PostgreSQL. Ja na razie robię SELECT i odświeżam całą tabelę za każdym razem jak tabela zostaje wyświetlona. Najlepiej aby były odświeżane tylko te elementy które zostały zmienione lub zostały dodane. Czytałem coś o aktualizowalnych i przewijalnych zbiorach rekordów ale jakoś nie mogłem się doszukać informacji w tym o odświeżaniu bo chyba służy to do zmiany rekordów. W sieci lokalnej to nie ma dużego problemu ale przez internet to trochę powoli. Jakie są inne możliwości odświeżania danych?

Pozdrawiam
Jacek

0
  1. Cache, ale to nie jest najgenialniejsze rozwiazanie. Szczególnie jeżeli dane będą bardzo często aktualizowane to cache będzie często generoway i tym samym utraci sens.
  2. Dodanie kolumny timestamp do schematu. W kolumnie siedzi data osatniej aktualizacji. wygląda to mniej więcej w ten sposób, że przy pierwszym zapytaniu pobierasz wszystkie dane i zapamiętujesz czas wykonania zapytania. Każde kolejne zapytanie zawiera dodatkowy wrunek mówiący, że dane powinny być zmienione po dacie ostatniego pobrania. Metoda jest zła ponieważ nie ma możliwości wyłapania rekrdów usuniętych.
  3. Mechanizm podobny do 2, ale oparty o trigery. Każda zmiana w bazie spowoduje przepisanie danych od pomocniczej tabeli i dodanie dwóch flag pierwszej czasowej i drugiej określającej rodzaj zmiany: nowy, zmiana, skasowane
  4. Mechanizmy właściwe dla konkretnych baz. Szczegoły są w dokumentacjach.

1 użytkowników online, w tym zalogowanych: 0, gości: 1