Script Verbessserung

Einklappen
X
 
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

  • Script Verbessserung

    Hallo,

    ich lese mit einem Script Zeile für Zeile eine Log Datei aus.

    Jetzt ist es so das er nach jeder Zeile die gefilterten Informationen in eine MySQL Datenbank speichert.

    Mir wurde gesagt, das dieses nicht gut ist, aber wie kann man das dann verbessern?

    Hier ein BEispiel:

    PHP-Code:
       if(strpos($zeile'ShutdownGame:') !== FALSE)
       {
          
    $end explode(' '$zeile);
          
    $time_end explode(':'$end[0]);
          
    $time_end = ($time_end[0] * 60)+$time_end[1];
          
    $time $time_end $time_start;
          
    mysql_query
    ("INSERT INTO t1_cod4stats (game_id, game_time, game_map, game_typ) 
    VALUES ('', '
    $time', '".$init[2]."', '".$init[14]."')");
          echo 
    mysql_error();
          
          
       } 
    Dieses wird dann ca. 500 mal durchlaufen...

  • #2
    Re: Script Verbessserung

    Original geschrieben von Laire
    PHP-Code:
          mysql_query
    ("INSERT INTO t1_cod4stats (game_id, game_time, game_map, game_typ) 
    VALUES ('', '
    $time', '".$init[2]."', '".$init[14]."')");
          echo 
    mysql_error(); 
    Daraus würde ich zumindest das hier machen:

    PHP-Code:
          mysql_query ("INSERT INTO t1_cod4stats (game_id, game_time, game_map, game_typ) 
    VALUES ('', '
    $time', '".$init[2]."', '".$init[14]."')") OR die(mysql_error()); 

    Kommentar


    • #3
      Du kannst mehrere Datensätze mit einer INSERT-Query einfügen.

      INSERT tbl_name (col_name, ...) VALUES (...), (...), ... (...)

      Aber wenn du alle 500 in eine Query zimmerst, wirst du u.U. an Serverlimits stoßen. Also versuche es erstmal mit 50er oder 100er Häppchen.

      Kommentar


      • #4
        Wenn game_id auto_increment hat, nimms komplett aus dem Query raus.
        [FONT="Helvetica"]twitter.com/unset[/FONT]

        Shitstorm Podcast – Wöchentliches Auskotzen

        Kommentar


        • #5
          http://dev.mysql.com/doc/refman/5.1/...ert-speed.html

          Ein netter Guide zum übersichtlichen Schreiben von PHP/MySQL-Code!

          bei Klammersetzung bevorzuge ich jedoch die JavaCoding-Standards
          Wie man Fragen richtig stellt

          Kommentar


          • #6
            sowas ähnliches hatten wir hier schonmal. allerdings handelte es sich dabei um einige millionen datensätze.

            schnellste variante war:
            zuerst alle datensätze als csv aufbereiten und dann mit LOAD DATA INFILE in die db zu schaufeln.

            Kommentar

            Lädt...
            X