Najszybszy sposób updatu bazy w mysql

0

Mam tabelę liczącą 50tyś produktów w mysql, i potrzebuje robić codzienną aktualizację cen na podstawie pliku, który otrzymuje

Gdy aktualizuje każdy wiersz po wierszu zapytaniem wczytujac dane z pliku

a zapytanie wygląda w ten sposób

UPDATE ".PRODUCT_TABLE." SET ".PRODUCT_TABLE.".price='$price' WHERE ".PRODUCT_TABLE.".code1='$code1'");

to nie dość, że muszę aktualizować tak przez około jedną godzinę to muszę co 120sekund robić refresha bo strona sie zatrzymuje zewzgledu na ograniczony czas trwania procesu na serwerze..

Innym sposób, który kiedyś zrobiłem to

wykorzystanie LOAD DATA LOCAL INFILE

wczytalem w ten sposob do duplikatu struktury tabeli produkty cały mój plik z aktualizacjami, i jednym zapytaniem

zrobiłem update

mysql_query("UPDATE ".PRODUCT_TABLE.", ".PRODUCT_TEMP_TABLE." SET ".PRODUCT_TABLE.".code1=".PRODUCT_TEMP_TABLE.".code1, ".PRODUCT_TABLE.".price=".PRODUCT_TEMP_TABLE.".price WHERE ".PRODUCT_TABLE.".code2=".PRODUCT_TEMP_TABLE.".code2");

Poszukuje sposobu na znacznie szybszą aktualizację, słyszałem że możliwe jest aktualizowanie do 1000wierszy na sekundę, proszę o pomoc, z góry dziękuję

0

nawet przy 50 tys cały proces powinien trwać o niebo krócej.
Moze sproboj najpierw wczytac cała zawartosc pliku do tablicy a pozniej to do bayz danych.
Sprawdzlaes czy na innym serwerze to trwa rownie długo?

0

u mnie na kompie to samo sie dzieje, muli caly komputer, a serwer to serwer należący do home.pl

0

bez wała coś w skrypcie może masz namieszane
a jak nie chce ci się odśwież to daj w skrypcie na początku

set_time_out(36000); //10 h
ignore_user_abort(true);

po takim czymś możesz spokojnie wyłączyć przeglądarkę nawet a skrypcik będzie leciał ma 10 godzin aż się wykona bez względu na to czy masz jeszcze odpaloną przeglądarkę czy już nie :)

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