Hi, ich bin kein Profi eher jemand ders versucht. Bin nun seit einer Woche dabei folgendes zu realisieren. Es funktioniert auch, aber es dauert bei 400tsd Datensätzen einfach sehr lang. Gibt es eine andere Lösung welche der Geschwindigkeit ein bisschen entgegen kommt? Ich habe einen Webshop mit 276.000 Artikel, derzeit. Vom GH bekomm ich den Aktuellen Lagerbestand als CSV Datei mit 468.00 Artikeln. Eine product_temp mit den Spalten wie in der CSV ist vorhanden und lädt diese auch vom FTP herrunter, speichert diese in der product_temp. Er gleicht diese auch mit der product ab und trägt diese ein. Die Spalten aus product_temp sind nicht gleich product! Nur die Geschwindigkeit ist ein bisschen zu langsam. Als Test gestern Abend auf heute morgen waren es 10 Stunden und mehr. Bitte fragt mich keine genauen Deteials des Codes, ich bin froh das ich es so hinbekommen habe, und wäre über Hilfe sehr dankbar. Hier hab ich den Code welchen ich benutze. PHP-Quellcode <?php ini_set('display_errors', 1); ini_set('display_startup_errors', 1); error_reporting(E_ALL); $start= microtime(true); //$source='/var/www/clients/client2/web7/web/3333333333333333.CSV'; $source='ftp://333333:3333333@3333333.33333333.de/DATEN/333333333.CSV'; $uploadfile='/var/www/clients/client2/web7/web/DATEN/'.basename($source); file_put_contents($uploadfile,file_get_contents($source)); //läd Datei auf den Server //$mysqli = new mysqli( localhost , c2test , 3333 , c2test ); $mysqli = new mysqli( 333333333333333333333 , test-33333333 , 3333# , test-333333 ); $loadData = LOAD DATA LOCAL INFILE '$uploadfile' INTO TABLE product_temp FIELDS TERMINATED BY ';' IGNORE 1 LINES (Artikelnummer, EAN, Herstellerartikelnummer, Hersteller, ME, PE , Preis_pro_PE, KVE, Bestand) ; //läd Datei in Datenbank $mysqli->multi_query($loadData); $updateData = UPDATE product s INNER JOIN product_temp c USING(ean) SET s.stock=c.Bestand, s.available_stock=c.Bestand ; //Updatet alle Änderrungen in Artikel-DB $mysqli->multi_query($updateData); $truncate = TRUNCATE TABLE product_temp ; $mysqli->multi_query($truncate); if($loadData !== FALSE) { echo( Daten erfolgreich bearbeitet ); }else{ echo( Es ist eine Fehler aufgetreten ); } $dauer = microtime(true) - $start; echo <br />Verarbeitung des Skripts: $dauer Sek. ; ?> Alles anzeigen $(function() { $('.jsButtonCodeBoxExpand').removeClass('jsButtonCodeBoxExpand').click(function() { $(this).parent().removeClass('minimized').end().remove(); }); // searching in a page causes Google Chrome to scroll // the code box if something inside it matches // // expand the box in this case, to: // a) Improve UX // b) Hide an ugly misplaced "show all" button $('.codeBox').on('scroll', function() { $(this).find('.codeBoxExpand').click(); }); // expand code boxes that are initially scrolled // this may happen due to someone linking to a specific line $('.codeBox').each(function() { if ($(this).scrollTop() != 0) { $(this).find('.codeBoxExpand').click(); } }); });
Dieser Blog beschreibt, wie man die Übertragung von Daten einer produktiven Datenbank auf eine Testdatenbank mit Hilfe von Prozeduren schnell und unkompliziert gestaltet. Der Beitrag Kopieren mit Prozeduren erschien zuerst auf Bissantz & Company.
zum Artikel gehenÜber eine neue Funktion könnt Ihr in Google Chrome, Edge und Co. ganz einfach Screenshots aus Online-Videos erstellen. Wir zeigen Euch, wie es geht und was Ihr beachten müsst. Der Beitrag Für YouTube und Co: Screenshots aus Videos kopieren von Boris Hoff
zum Artikel gehenZum Verkleinern der Photos fr Einsteiger geeignet aber auch fr Profis un Photografen da es das RAW Bilddaten Format untersttzt und bei Bedarf EXIF Bildinformationen kopieren kann Hauptfunktionen von PhotoResizerOK - Konvertieren der Bilder in andere ...
zum Artikel gehenDivi bietet eine eingebaute Funktion, mit der ganze Seite ganz einfach kopiert werden können. Das ist super praktisch, wenn Du dieselbe Struktur für mehrere Seiten verwenden willst. Wie das geht, erkläre ich Dir im heutigen Videohack. Du möchtest keinen m
zum Artikel gehenRsync ist im Unix- und Linux-Universum auf der Konsole ein sehr nützliches Tool zum Kopieren bzw. Synchronisieren von Verzeichnissen auf lokalen oder entfernen Systemen. Während scp auch komplette Verzeichnisse samt deren Inhalte rekursiv kopieren kann, b
zum Artikel gehen