Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: kopiowanie rekordów z bazy zewnętrznej
Forum PHP.pl > Forum > Bazy danych > MySQL
ChrisB
witam

mam 2 bazy
1) lokalna z pełnym dostępem, na niej opiera się cały mój serwis
2) zewnętrzna, możliwy jedynie select, brak możliwości wprowadzania jakichkolwiek zmian w uprawnieniach

i teraz potrzebuję przekopiować lub zsynchronizować jedną z tabel zewnętrznych z moją tabelką lokalną

aktualnie mam to zrobione w pętli php - pobieranie wszystkich rekordów i ich insertowanie do tablicy lokalnej
rekordów jest około 120 tyś, więc razem z przesłaniem przez internet i insertem trwa to ponad 20 sekund;/


i pytanie brzmi: jest możliwość pominięcia php i zrobienia synchronizacji z poziomu mysql?
albo może jakaś szybsza metoda na połączenie z oboma bazami naraz przerzucenie jednym zapytaniem rekordów?

idealnie z mojego punktu widzenia byłoby przerzucenie tylko różnic od ostatniej synchronizacji ale to się chyba na 100% nie uda;/
everth
Jeśli obie chodzą na MySql to możesz spróbować zasymulować zewnętrzną tabelę za pomocą FEDERATED - być może uda ci się założyć na nią (lokalnie) wyzwalacze, tak by uaktualniały tablicę lokalną. Czy to będzie działać - nie wiem, daję ci tylko wskazówkę.
ChrisB
zastanawiałem się nad tym prawie ale aktulanie nie mam obsługi federated wkompilowanej, a najwcześniej dam rade przebudować mysql-a w niedzielę... do tego czasu chcę wszystkie inne opcje zbadać i wypróbować

i poczytałem troche też teraz
triggery na federated nie są świadome zmian w tablicy podstawowej - więc dla mojego celu triggery odpadają - jedynie kopiowanie całości danych, co też jest w sumie spory ułatwieniem, ale nadal wolałbym inne rozwiązanie
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.