was ist schneller?

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

  • was ist schneller?

    Evt. hat jmd von Euch Erfahrung mit sowas:
    ich importiere daten in MySQL. Die Daten werden aus einem file gelesen und zeile für zeile gegen validierungsdaten gecheckt.
    Wenn valid insert wenn nicht logfile message schreiben....

    nun die frage was ist schneller für jede valide zeile ein insert oder ein riesen insert für alle und das dann auf einmal an die db schicken?

    bsp für 2. Variante:
    insert into tbl values ($zeile1),($zeile2),($zeile3):
    Zuletzt geändert von MelloPie; 20.01.2003, 11:13.
    Beantworte nie Threads mit mehr als 15 followups...
    Real programmers confuse Halloween and Christmas because OCT 31 = DEC 25

  • #2
    ich würde die datei zeilenweise einlesen und IMMER einen insert machen.
    deine tabelle muss aber speziell vorbereitet sein. lies dir das mal durch.
    http://www.php-resource.de/forum/sho...ghlight=unique

    damit solltest du den besten lösungsansatz haben.
    INFO: Erst suchen, dann posten![color=red] | [/color]MANUAL(s): PHP | MySQL | HTML/JS/CSS[color=red] | [/color]NICE: GNOME Do | TESTS: Gästebuch[color=red] | [/color]IM: Jabber.org |


    Kommentar


    • #3
      Du würdest?
      Ist das wirklich schneller?
      Sorry aber ich will keine Anleitung über unique keys sondern ne Aussage, was schneller ist.
      Beantworte nie Threads mit mehr als 15 followups...
      Real programmers confuse Halloween and Christmas because OCT 31 = DEC 25

      Kommentar


      • #4
        schneller ist es auf jeden fall. daher habe ich das auch so erstmals verwendet. DAMALS.

        ich wollte nicht jedesmal ein SELECT und dann ein INSERT machen. das dauert zu lange.

        wenn du die db das checken lässt beim INSERT gehts SCHNELLER ....

        frage beantwortet ?
        INFO: Erst suchen, dann posten![color=red] | [/color]MANUAL(s): PHP | MySQL | HTML/JS/CSS[color=red] | [/color]NICE: GNOME Do | TESTS: Gästebuch[color=red] | [/color]IM: Jabber.org |


        Kommentar


        • #5
          NIcht wirklich.
          Ich möchte wissen, was schneller ist mehrere inserts nitereinander über mysql_query oder ein riesen sql über mysql_insert auszuführen.
          Das ist alles, nichts mit select und check...
          Beantworte nie Threads mit mehr als 15 followups...
          Real programmers confuse Halloween and Christmas because OCT 31 = DEC 25

          Kommentar


          • #6
            soviel ich weiss, kann man über php nur ein INSERT gleichzeitig machen.
            über phpmyadmin oder mysql direkt kannst du mehrere machen. nacheinander durch ; getrennt. aber soviel ich weiss NICHT UNTER PHP.
            INFO: Erst suchen, dann posten![color=red] | [/color]MANUAL(s): PHP | MySQL | HTML/JS/CSS[color=red] | [/color]NICE: GNOME Do | TESTS: Gästebuch[color=red] | [/color]IM: Jabber.org |


            Kommentar


            • #7
              Vielleicht rede ich so unklar:
              1. Variante:
              PHP-Code:
              while(...){
                  
              mysql_query($sql)

              2. Variante:
              PHP-Code:
              while(...){
                  
              $vals .= $vals ",(VALUES)":"(VALUES);
              }
              $sql = "insert into tbl ".$vals;
              mysql_query(
              $sql); 
              was ist schneller, besser?
              Zuletzt geändert von MelloPie; 20.01.2003, 12:31.
              Beantworte nie Threads mit mehr als 15 followups...
              Real programmers confuse Halloween and Christmas because OCT 31 = DEC 25

              Kommentar


              • #8
                wie soll den die zweite schleife aussehen ... sieht komisch für ne sql-query aus, die dann rauskommen könnte.

                das erste sollte gehen. das hätte ich auch so gemacht.
                INFO: Erst suchen, dann posten![color=red] | [/color]MANUAL(s): PHP | MySQL | HTML/JS/CSS[color=red] | [/color]NICE: GNOME Do | TESTS: Gästebuch[color=red] | [/color]IM: Jabber.org |


                Kommentar


                • #9
                  Ich würde die 2. Variante wählen. Ich denke, daß das die schnellere Variante ist. Ist natürlich dann bloß blöd irgendwelche Fehler beim INSERT abzufangen.

                  Meiner Meinung nach ist ein Query immer (naja, meistens) schneller als viele kleine.

                  Gruß oms
                  {brigens Ein Kezboard/Treiber ist v;llig [berfl[ssig!

                  Kommentar


                  • #10
                    @oms endlich mal ne Aussage. Danke

                    @abraxas beantworte doch fragen wenn Du es kannst purer Senf langt nur um die Anzahl der Posts zu erhöhen.
                    Beantworte nie Threads mit mehr als 15 followups...
                    Real programmers confuse Halloween and Christmas because OCT 31 = DEC 25

                    Kommentar


                    • #11
                      @MelloPie
                      jetzt mal langsam.....
                      eine abfrage ist immer besser, als viele viele kleine. da stimme ich oms zu. aber wie bitte willst, du mehrere einträge mit einem INSERT machen.

                      ich meine, dass es nicht geht. wenn du mich vom gegenteil überzeugst, habe ich nichts gesagt.
                      INFO: Erst suchen, dann posten![color=red] | [/color]MANUAL(s): PHP | MySQL | HTML/JS/CSS[color=red] | [/color]NICE: GNOME Do | TESTS: Gästebuch[color=red] | [/color]IM: Jabber.org |


                      Kommentar


                      • #12
                        INSERT [LOW_PRIORITY | DELAYED] [IGNORE]
                        [INTO] tbl_name [(col_name,...)]
                        VALUES ((expression | DEFAULT),...),(...),...
                        [ ON DUPLICATE KEY UPDATE col_name=expression, ... ]
                        http://www.mysql.com/doc/en/INSERT.html
                        {brigens Ein Kezboard/Treiber ist v;llig [berfl[ssig!

                        Kommentar


                        • #13
                          ups. habe ich bisher nie gemacht. damit ist es aber tatsächlich besser.

                          ok. ich habe nichts gesagt ...
                          INFO: Erst suchen, dann posten![color=red] | [/color]MANUAL(s): PHP | MySQL | HTML/JS/CSS[color=red] | [/color]NICE: GNOME Do | TESTS: Gästebuch[color=red] | [/color]IM: Jabber.org |


                          Kommentar


                          • #14
                            @abraxas mal langsam, wenn Du nicht weisst wovon Du redest dann schreibe besser keine Antworten. Das nervt nur wenn man mal ne Frage hat und nur dummes Zeug gepostet wird oder die Frage gar nicht beachtet wird sondern irgendwas anderes beantwortet wird, was Dir grade in den Sinn kommt. Das ist hier kein Spiel ich mach in 3 Monaten 1000 Posts...
                            Beantworte nie Threads mit mehr als 15 followups...
                            Real programmers confuse Halloween and Christmas because OCT 31 = DEC 25

                            Kommentar


                            • #15
                              OffTopic:

                              @MelloPie
                              muss man immer von anfang an eine perfekte lösung schreiben?
                              ich mache hier kein spiel. ich versuche zu helfen.
                              ich kann mir die zeit auch gerne sparen und tags und abends nicht mehr in forum schauen und antworten.
                              ausserdem lernt man aus fehlern bekanntlicherweise.



                              bisher habe ich die validierung einen datensatzes immer durch die mysql machen lassen, indem ich unique felder setze.
                              bisher habe ich auch nur einen datensatz gleichzeitig anlegt. die lösung mit mehreren datensätzen war mir (fast) neu. hatte es vor langer zeit bestimmt mal gesehen, aber auch nicht damit gearbeitet.

                              wie dem auch sei. ich lerne genau wie alle anderen hier.

                              und hiermit habe ich wieder was gelernt...
                              INFO: Erst suchen, dann posten![color=red] | [/color]MANUAL(s): PHP | MySQL | HTML/JS/CSS[color=red] | [/color]NICE: GNOME Do | TESTS: Gästebuch[color=red] | [/color]IM: Jabber.org |


                              Kommentar

                              Lädt...
                              X