Neuigkeiten
  • Die modified eCommerce Shopsoftware ist kostenlos, aber nicht umsonst.
    Spenden
  • Damit wir die modified eCommerce Shopsoftware auch zukünftig kostenlos anbieten können:
    Spenden
  • Thema: Geschwindigkeit eines CSV-Imports optimieren

    h-h-h

    • modified Team
    • Beiträge: 4.562
    Geschwindigkeit eines CSV-Imports optimieren
    am: 07. Dezember 2011, 07:05:15
    Guten Tag,

    hat jemand eine Idee wie man einen CSV-Import schneller machen kann.

    Ich habe einen Kunden mit fast 10 Shops und jeweils ganz grob 500.000 Artikeln und der möchte seine Preise über Excel aktualisieren und verwendet dazu die CSV-Import/Export Funktion.
    Über Ideen und Anregungen würde ich mich freuen, denn mehr als 5 Stunden (Prozesslaufzeit) für einen Shop ist absolut übertrieben. Über die Hardware braucht Ihr keine Fragen stellen, alles nur vom Feinsten.

    Könnt Ihr mir ein paar Apache, PHP, MySQL Optimierung Möglichkeiten nennen, die in diesem Fall helfen?

    Mit besten Grüßen

    h-h-h

    Linkback: https://www.modified-shop.org/forum/index.php?topic=17201.0
    Modulshop - Eine große Auswahl an neuen und hilfreichen Modulen für die modified eCommerce Shopsoftware

    andares

    • Neu im Forum
    • Beiträge: 15
    Re: Geschwindigkeit eines CSV-Imports optimieren
    Antwort #1 am: 07. Dezember 2011, 07:40:39
    Hallo h-h-h,

    ich verarbeite 14 Lieferanten, die jeweils 5.000 bis 100.000 Artikel in ihrem Sortiment haben, in wenigen Minuten (14 mal CSV Runterladen, Daten verarbeiten, Shop aktualisieren). Dafür habe ich mir ein eigenes Programm in Delphi geschrieben. Ich denke Excel ist für solche Aufgaben einfach überfordert.

    Wenn Du Interesse hast, kannst Du mir mal etwas genauer sagen, was Du machen willst, dann würde ich mir mal ein paar Gedanken machen.

    Gruß Ebi

    h-h-h

    • modified Team
    • Beiträge: 4.562
    Re: Geschwindigkeit eines CSV-Imports optimieren
    Antwort #2 am: 07. Dezember 2011, 07:43:30
    Das mit Excel klappt alles, es geht mir nur um die Scriptlaufzeit des Imports.
    Was macht Dein Programm denn genau, mit Delphi arbeite ich zur Zeit auch.

    Mit besten Grüßen

    h-h-h

    Matt

    • Experte
    • Beiträge: 4.241
    Re: Geschwindigkeit eines CSV-Imports optimieren
    Antwort #3 am: 07. Dezember 2011, 15:45:26
    Der aktuelle Importer spricht ja pro Produkt derzeit mehrmals mit der Datenbank, ein möglicher Ansatz wäre, sich den Import-String komplett zusammenzubauen und dann in einem Rutsch in die Datenbank zu schreiben. Wobei da der Import die Shop-IDs enthalten sollte, damit man sich die Abfragen, ob es ein neues oder altes Produkt ist, sparen kann.

    h-h-h

    • modified Team
    • Beiträge: 4.562
    Re: Geschwindigkeit eines CSV-Imports optimieren
    Antwort #4 am: 16. Dezember 2011, 09:38:20
    Ob dies bei einer 500Mb CSV-Datei funktioniert bezweifle ich, wenn dann müsste man das in einzelnen Etappen machen.

    Vielleicht die ganze Datei mit "LOAD DATA LOCAL INFILE" erstmal direkt in eine cache Tabelle jagen und von dort aus weiter verteilen?!

    Gruß h-h-h

    mouseworx

    • Schreiberling
    • Beiträge: 254
    • Geschlecht:
    Re: Geschwindigkeit eines CSV-Imports optimieren
    Antwort #5 am: 16. Dezember 2011, 10:58:03
    Wenn es dir wirklich nur um die Preise geht, dann würde ich eine eigene Import Routine schreiben bei der Du nur die relevanten Daten verarbeitest. Das wären in diesem Fall wohl nur die "products_id" und "products_price", vielleicht noch die "products_tax_class_id" und eventuell Kundengruppenspezifische Preise.

    Wenn du Dir die ganzen Schleifen über andere und in diesem Fall nicht benötigte Tabellen des serienmäßigen Importers sparst und den ganzen Overhead an ungenutzten Daten in der CSV los bist wirst du selbst bei 500.000 Artikeln deutlich schneller als 5 Stunden sein.

    Grüße
    Sebastian

    h-h-h

    • modified Team
    • Beiträge: 4.562
    Re: Geschwindigkeit eines CSV-Imports optimieren
    Antwort #6 am: 16. Dezember 2011, 23:19:32
    Danke für den Tipp, doch das wird auch nicht helfen. Der Kunde braucht fast alle Daten.

    Gruß h-h-h

    mouseworx

    • Schreiberling
    • Beiträge: 254
    • Geschlecht:
    Re: Geschwindigkeit eines CSV-Imports optimieren
    Antwort #7 am: 16. Dezember 2011, 23:50:54
    Möchte dein Kunde jetzt nur die Preise oder doch alle Artikeldaten pflegen? Deine Aussagen widersprechen sich für mein Gefühl da gerade etwas. Mit einer eigenen, performanceoptimierten Lösung solltest du aber in jedem Fall deutlich schneller werden können.

    Meine Import Lösungen schaffen so ca. 100.000 Artikel (Neuanlage - also Artikeldaten, Artikelbeschreibung, Kategorie- und Herstelleranlage sowie die passenden X-Sell Verlinkungen) in 5 bis 10 Minuten - natürlich je nach Leistungsfähigkeit der Hardware. Eine Aktualisierung geänderter Artikeldaten beinhaltet ja nur eine Teilsumme, sollte also noch deutlich schneller gehen.

    Grüsse
    Sebastian

    h-h-h

    • modified Team
    • Beiträge: 4.562
    Re: Geschwindigkeit eines CSV-Imports optimieren
    Antwort #8 am: 17. Dezember 2011, 11:41:05
    Es handelt sich doch um alle Artikeldaten, habe ich gestern am Telefon erst erfahren.

    Gruß h-h-h
    2 Antworten
    3401 Aufrufe
    08. September 2013, 15:10:21 von NGE2011
    4 Antworten
    4641 Aufrufe
    09. Januar 2012, 18:13:24 von mouseworx
    3 Antworten
    894 Aufrufe
    15. Februar 2021, 09:33:05 von little-key
    3 Antworten
    3357 Aufrufe
    28. Januar 2010, 20:07:55 von Tomcraft