Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> [PHP] Porównywanie różnych wersji tabeli
mlawnik
post 17.06.2014, 14:13:59
Post #1





Grupa: Zarejestrowani
Postów: 455
Pomógł: 49
Dołączył: 12.04.2010

Ostrzeżenie: (0%)
-----


Witam,

cyklicznie pobieram pewną tabelę, aby zapisywać zachodzące w niej zmiany.

Komórki w tabeli mogą zmieniać zawartość, zostać dodane lub usunięte.

Mam napisany skrypt który odpowiednio obrabia komórki, teraz chciałbym wykrywać zmiany.
Obecnie sprawdzam, czy komórka jest pusta czy nie i dodaję nowe komórki jeżeli nie ma ich w bazie.
Wyciąganie ich z bazy i porównanie z wyciągniętymi z obecnej wersji wydaje mi się mało wydajne.

Czy dobrym pomysłem jest użycie jakiegoś narzędzia typu diff (zakładamy, że zapisuję kod źródłowy każdej zmienionej tabelki) i przetwarzanie tylko zmienionych wierszy (To znaczy także usuwanie z bazy usuniętych). Oprócz tego zapisywałbym jakie wiersze zostały usuniete/dodane.

Czy można to zrealizować w jakiś wydajniejszy sposób?

Czy możecie polecic jakieś biblioteki do rozwiązania tego problemu/po prostu nazwę tego problemu po angielsku?

Pozdrawiam,
mlawnik


--------------------
Pozdrawiam,
mlawnik

Cytat(nospor)
Jedzmy gówno.... miliony much nie może się przecież mylić
Go to the top of the page
+Quote Post
kartin
post 17.06.2014, 14:19:10
Post #2





Grupa: Zarejestrowani
Postów: 246
Pomógł: 79
Dołączył: 25.05.2010

Ostrzeżenie: (0%)
-----


Dobrym rozwiązaniem jest zrobienie tego w bazie danych i użycie trigger-ów.


--------------------
Jeśli ten post pomógł to kliknij przycisk po lewej stronie.
Nie pomagam przez PW, GG, e-mail, faks, telegram, znaki dymne, ...
Go to the top of the page
+Quote Post
mlawnik
post 17.06.2014, 14:22:52
Post #3





Grupa: Zarejestrowani
Postów: 455
Pomógł: 49
Dołączył: 12.04.2010

Ostrzeżenie: (0%)
-----


Klaryfikacja

To wszystko dzieje się w bazie danych.
Problemem głównym jest to, że nie mam pomysłu jak efektywnie wykrywać usunięcie wiersza.
Elementy nie dodają się ponownie przez dodanie UNIQUE, co też nie jest idealnym rozwiązaniem bo tabela ta nie posiada unikalnych kombinacji wartości.

Poczytam o triggerach.

EDIT

Triggery wydają się dobre do logowania zmian. Myślę że będą dobre do wykorzystania w tym celu.

Dla przyszłych pokoleń:
http://code.tutsplus.com/articles/introduc...gers--net-12226


Jak przeprowadzić porównanie dwóch tabel w html?

Ten post edytował mlawnik 17.06.2014, 14:29:44


--------------------
Pozdrawiam,
mlawnik

Cytat(nospor)
Jedzmy gówno.... miliony much nie może się przecież mylić
Go to the top of the page
+Quote Post

Reply to this topicStart new topic
1 Użytkowników czyta ten temat (1 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Wersja Lo-Fi Aktualny czas: 22.06.2025 - 01:10