tutorials.de Buch-Aktion 05/2012
Seite 2 von 2 ErsteErste 12
ERLEDIGT
JA
ANTWORTEN
21
ZUGRIFFE
1561
EMPFEHLEN
  • An Twitter übertragen
  • An Facebook übertragen
AUF DIESES THEMA
ANTWORTEN
  1. #16
    Registriert seit
    Jun 2002
    Ort
    Saarbrücken (Saarland)
    Beiträge
    9.886
    Blog-Einträge
    29
    Hallo,

    btw. bei den aktuell gängigen MySQL Versionen kannst du mit einem Insert Befehl auch mehrere Zeilen gleichzeitig einfügen.

    Code sql:
    1
    
    INSERT INTO tbl_name (a,b,c) VALUES(1,2,3),(4,5,6),(7,8,9);
    Siehe auch:
    http://dev.mysql.com/doc/refman/5.5/en/insert.html

    Gruß Tom
     
    Java rocks!
    How to become a good Java Programmer?
    Does IT in Java and .Net
    The only valid measurement of code quality: WTFs / minute
    Blog
    Xing
    Twitter

  2. #17
    jannicars jannicars ist offline Mitglied Gold
    Registriert seit
    Jun 2011
    Beiträge
    219
    Ich überlege gerade, wie ich die Sache mit dem Aufteilen am besten realisiere;
    Meine Überlegungen:
    1. Hauptscript wird von Cronjob aufgerufen.
    2. Hauptscript zählt alle Einträge in Datenbank(count(id) oder SQL_CALC_FOUND_ROWS)
    3. Die Einträge durch eine vordefinierte Zahl teilen, wieviele Prozesse man haben möchte
    z.B. 20 Prozesse vordefiniert: 100:20=5
    Was mach ich aber bei einer Zahl von 37.845?
    4. Das Unterscript mit entsprechenden Parametern aufrufen:
    1. Prozess
    Code :
    1
    
    php -f script.php 1 5
    2. Prozess
    Code :
    1
    
    php -f script.php 6 10
    Das ganze geht bis zu den 20 Prozessen.
    1 = StartID
    2 = EndID
    5. Halt wie jetzt schon in dem Unterscript alle updaten.

    Währe das so gut realisiert, hat jemand noch eine verbesserung/bessere Idee?
     

  3. #18
    Avatar von einfach nur crack
    einfach nur crack einfach nur crack ist offline mag Cookies & Kekse
    tutorials.de Premium-User
    Registriert seit
    May 2007
    Ort
    Dresden (Sachsen)
    Beiträge
    1.956
    Ich weiß nicht, ob dass bei PHP mit exec() oder shell_exec() oder der Variante mit den Backticks möglich ist, aber normalerweise kann man Prozesse im Hintergrund ausführen lassen, in dem man am Ende noch ein Und-Zeichen "&" einfügt, also in deinem Fall
    Code :
    1
    
    php -f script.php 6 10 &

    Kurzinformation (in Englisch): http://unixhelp.ed.ac.uk/shell/jobz2.html
     
    Ich mag:
    • positive Bewertungen meiner Beiträge
    • ein Danke für meine hilfreichen Beiträge

    Dabei kann ich dir helfen: PHP --- Javascript --- Ruby --- Coffeescript --- CSS --- HTML --- Webtechnologien --- Shell --- UNIX

    ... noch was: falls du mit dem Thema hier fertig bist, dann kannst du es auch als erledigt markieren.

  4. #19
    Avatar von Lime
    Lime Lime ist offline frisch fruchtig
    Registriert seit
    Jul 2011
    Beiträge
    369
    oder wenn man ein "nohup" an den Anfang des Befehls setzt...
    einfach nur crack bedankt sich. 

  5. #20
    jannicars jannicars ist offline Mitglied Gold
    Registriert seit
    Jun 2011
    Beiträge
    219
    Also Insert am schluss ausführen beschleunigt das Skript dermaßen.
    Bin jetzt von 5 auf 2Sekunden runter nur durch optimieren des Inserts.
    Wie sieht es jetzt mit den Updates aus?
    Gibt es da auch so ne' Art multiupdate?
     

  6. #21
    jannicars jannicars ist offline Mitglied Gold
    Registriert seit
    Jun 2011
    Beiträge
    219
    So hab das ganze jetzt komplett gelöst bekommen,
    auch mit update.
    Vorherige Dauer bei 10 Datensätzen: 5 Sekunden.
    Optimierte Dauer bei 10 Datensätzen: 1,2 Sekunden.

    Echt geniale Beschleunigung
    Jetzt das ganze Multithreading machen und es rennt alles durch.
     

  7. #22
    jannicars jannicars ist offline Mitglied Gold
    Registriert seit
    Jun 2011
    Beiträge
    219
    Ich wollt nur nochmal sagen das ich jetzt eine perfekte Lösung(für mich) gefunden habe:
    cURL Multi.
    1000 Files brauchen 200 Sek. mit cURL Multitasking und das bei meiner lahmen 16.000 und WLAN bei mir zuhause.
    Ich starte cURL Multi immer mit 100 Requests.
    Bei 1000 Files lass ich das ganze 10 mal durchführen.
     

Ähnliche Themen

  1. Multithreading
    Von bspainkf36 im Forum Java
    Antworten: 4
    Letzter Beitrag: 11.10.09, 17:00
  2. Multithreading
    Von Paranoia im Forum .NET Web und Kommunikation
    Antworten: 1
    Letzter Beitrag: 24.06.08, 17:32
  3. Multithreading
    Von pria im Forum .NET Windows Forms
    Antworten: 10
    Letzter Beitrag: 09.11.07, 11:42
  4. Multithreading
    Von Kaladial im Forum Java
    Antworten: 10
    Letzter Beitrag: 20.09.07, 13:40
  5. [c++] multithreading
    Von cyrrus im Forum C/C++
    Antworten: 6
    Letzter Beitrag: 01.11.02, 20:08