Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: skrypt indeksujacy tabele
Forum PHP.pl > Forum > PHP
patrycjusz
Witam....
Mam skrytp indeksujacy zawartosci pól z jednej tabeli do drugiej ale w obrębie jednej bazy. Teraz muszę napisać indeksowanie jednej tabeli do drugiej ale na dwóch róznych bazach... i zastanawiam sie jak to zrobić aby nie zajechac serwera...
myślałem tak:
-polaczenie z baza nr1,
-pobranie danych z odpowiendiej tabeli i ich przypisanie do odpowiednich zmiennych,
-zamkniecie polaczenia,
-polaczenie z baza nr2,
-wstawienie danych do odpowiedniej tabeli,
-zamkniecie polaczenia
... i wszystko byłoby oczywiste ale zastanawiam sie co bedzie gdy skrypt ten bedzie musiał zaindeksowac kilkanascie tabel byc moze jeszcze wiecej :? .
Wiec moje pytanie brzmi jak skonstruowac skrypt aby nie przeciarzac serwera... dodam ze skrypt bedzie uruchamiany dosyc czesto (ok. raz na godz)
Pozdrawiam PAT
Jabol
a może byś zrobił selecta i dał while( getrow ) insert. Tak byś pamięci nie nadwyrężał. Dla optymalizacji mażna by jeszcze rozpatrzyć kursory ale to już advenced. Osobiście robiłbym to rzadziej albo napisał skrypt tak aby nie było to potrzebne, ponieważ uważam synhronizowanie baz w takich krótkich odstępach za głupotę.
patrycjusz
hmm... mozna jakos tak troche wiecej na ten temat...
wiesz chodzi mi o to aby nie trza robić tylu polączen w jednym skrypcie...
czy jest mozliwe aby otworzyc dwa polaczenia do dwóch rózny baz a pozniej juz tylko...
-wybor polaczenia nr 1
-pobranie danych(oczywiscie Select i petelka itd to jest dla mnie jasne)
-wybor polaczenia nr2
-wstawienie danych itd
i zalezy mi na tym aby nie otwierac za kazdym razem i zamykac polaczenie...
a co do czestotliwosci "puszczania" tego skryptu to tak musi byc ale system w którym on bedzie nie jest dostepny dla wszystkich wiec ...
Jabol
oczywiscie, ze jest mozliwe polanczenie z 2 bazami naraz. Osobiscie nie widze w tym rzadnego problemu, ale niektorzy maja taki styl pisania (defaultowe polanczenia, ble...), ze moga być problemy...

ps. php jest c based. A w c sa tylko 3 defaultowo otwarte deskryptory, czyli jeszcze sporo jest do otwarcia, tym bardziej, ze nie zdziwilbym sie jakby php otwieral dla kazdego skryptu nowy proces.
uboottd
... ktore tez mozna sobie zamknac i pod nimi otworzyc cos innego.


patrycjusz: wszystkie funkcje bazodanowe operuja na identyfikatorze polaczenia, jednak jest on opcjonalny. W Twoim przypadku po prostu musisz go uzyc i tyle - poczytaj dokladnie manual na temat skladni funkcji komunikujacych sie z baza jest to tam zaznaczone.
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.