preformance Problem

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

  • #16
    bitte Brich den Update Code um BITTE

    ich hab nur 1280 auflösung und kein mega beamer ^^

    ps: es gibt einen vorschau button! der hilft bei sowas.

    OffTopic:

    wo zum Geier steckt der sende Button ><

    Bitte Beachten.
    Foren-Regeln
    Danke

    Kommentar


    • #17
      Bitte den ganz langen Update-Query umbrechen, damit der horizontale Scrollbalken verschwindet.

      Ansonsten sieht sowohl update wie auch explain okay aus...
      Also den user-Index löschen, denn der ist mit Abstand der Killer an der Tabelle.
      Das Locken bei den Tabellen weg lassen, enable und disable keys auch, das behindert beides nur den sonstigen laufenden Betrieb.

      Wenn das erledigt ist, probier mal wieder aus und guck wie es mit der CPU aussieht~



      @Normalisierung
      Hübsche Idee, tut aber zur Performance nichts dazu (mal abgesehen davon, dass die eine große Tabelle in viele kleine aufgesplittet wird, die "Konsistenzsicherheit", die das aktuelle Modell allerdings bietet, dabei drauf geht)

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

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

      Kommentar


      • #18
        Hmmm? Für was hab ich eigendlich diesen einen Index über die 3 Splaten gemacht?? Oh Gott peinlich, ich weiß es echt nicht mehr

        @ghostgambler
        Zeig mal bitte die UPDATE-Queries aus dem Dump (einen von jeder Sorte ... du brauchst nicht ein Dutzend Queries posten, die im Endeffekt alle gleich sind nur andere Werte in anderen Zeilen ändern) und am besten auch gleich die Ausgabe von EXPLAIN
        Die Update-Queries dürften ja irgendwie so aussehen:
        UPDATE tabelle SET spalte=wert, spalte2=wert WHERE bla="blubb";
        Und du setzt dann mal für alle der verschiedenen Update-Queries die du uns hier postest einen Query allá
        EXPLAIN SELECT * FROM tabelle WHERE bla="blubb";
        ab - also einfach einen SELECT mit der Where-Klausel vom Update
        Bei den Updates ist es so, dass ich fast alle Felder updaten muß, weil sich bei dem Fahrzeug ja (fast) überall was ändern kann.
        Ich wollte zwar jetzt ein solches UPDATE hier her posten, müsste aber dermaßen viele Zeilenumbrüche machen, das das Posting ewig lang werden würde.

        Aus diesem Grunde hab ich ein sql-File als Anhang beigefügt.

        Beim Explain wurde dann folgendes kommen:
        PHP-Code:
        EXPLAIN SELECT FROM anzeigen WHERE id '1218311'

        id => 1
        select_type 
        => SIMPLE
        table 
        => anzeigen
        type 
        => const
        possible_keys => PRIMARY
        key 
        => PRIMARY
        key_len 
        => 8
        ref 
        => const
        rows => 1
        Extra 
        => (da steht nix
        Also meiner Meinung nach ok sein.
        bidgo - Benzin im Blut
        Wir wollen Dich und Deine Karre
        Videoblog & Bilderblog zu verschiedenen Bereichen

        Kommentar


        • #19
          Wartet bitte - ich hatte grad jede Menge Fehlermeldungen hier im Forum und meine Antwort hätte noch gar nicht online sein dürfen!!!!
          Ich machs gleich!!!
          bidgo - Benzin im Blut
          Wir wollen Dich und Deine Karre
          Videoblog & Bilderblog zu verschiedenen Bereichen

          Kommentar


          • #20
            So!! Sorry Leute, aber wie Ihr sicher bemerkt hattet, war mein Posting ja doppelt.
            Einmal mit der Irren Breite und dann der Normalzustand.
            Ich hatte zwar auf Vorschau geklickt und deswegen ja auch mein Satz mit den vielen Zeilenumbrüchen.
            Warum das ganze online gegangen ist weiß ich nicht.
            Hatte nur die letzten 5 Minuten ein "To many Connections" hier im Forum, wodurch ich den Beitrag nicht so schnell ändern konnte.

            Ich weiß jetzt nicht einmal ob mein Anhang dabei war oder nicht.
            Deswegen tu ich Ihn nochmals hinzu!
            Angehängte Dateien
            bidgo - Benzin im Blut
            Wir wollen Dich und Deine Karre
            Videoblog & Bilderblog zu verschiedenen Bereichen

            Kommentar


            • #21
              Du hast schon längst wieder zwei Antworten

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

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

              Kommentar


              • #22
                Original geschrieben von Wyveres
                so ganz ins Blaue gesagt würde ich jetzt erlich gesagt laut schreiend davon rennen.

                also vom dem was ich bisher gesehen habe ist das hier das Monströsteste. aber es ist wenigstens nicht totaler misst.

                deswegen mein TIP: von der 1. Normalform in die 3. Normalform bringen.
                wirst Sehen der Aufwand wird sich Lohnen.
                Lauf aber nicht zu weit weg - vielleicht brauch ich Dich ja noch
                Nein im Ernst - monströs vom Umfang her?
                Da müsstest Du mal die Struktur von Autoscout24 sehen - die hat ca. doppelt soviel.
                Kommt aber daher, da die was ich unter Komfort stehen habe, als einzelne Spalten haben und nur mit int(1) deklariert haben.

                Eine saublöde Frage hab ich ja noch - ohne dass Ihr mich bitte gleich auf Google oder mysql verweist.
                Was ist 'enum'???
                Ich gebe es ehrlich zu, dass ich nicht so 100% fit bin bei mysql - was man sicher bemerkt hat.
                Denn grad bei der Farbe kann es ja von Seitens der Hersteller die dubiosesten Farbbezeichnungen geben, wo ich ja nicht wissen kann wieviele Zeichen ich brauche.
                Im Gegensatz zu Farbe Global, die ja von uns vorgegeben wird.
                bidgo - Benzin im Blut
                Wir wollen Dich und Deine Karre
                Videoblog & Bilderblog zu verschiedenen Bereichen

                Kommentar


                • #23
                  Original geschrieben von ghostgambler

                  @Normalisierung
                  Hübsche Idee, tut aber zur Performance nichts dazu (mal abgesehen davon, dass die eine große Tabelle in viele kleine aufgesplittet wird, die "Konsistenzsicherheit", die das aktuelle Modell allerdings bietet, dabei drauf geht)
                  Ok ich verstehe was du meinst aber warum sollte beim Normalisieren die Konsistenzsicherheit drauf gehen?

                  wenn er es richtig anstellt bleibt diese sogar erhalten.

                  zudem ersparrt er sich eine Mänge Datenunsinn, weil ich glaube kaum das es Jedesmal nötig ist ein und die Selbe Automarke (z.b. Toyota, VW usw.) in eine DB tabelle zu speichern. sprich er Bräuchte eigentlich nur noch Relevante Daten
                  a) Abspeichern
                  und
                  b) Ändern.

                  Was ich vorgeschlagen habe Macht schon Sinn. sonst währe die Normalisierung von DB tabellen eigentlich vollkommen Nutzlos weil ein Performance zuwachs ja nicht zu erwarten währe. Vorallem würde die Insert last gewaltig runter gehen. es ist schon ein Unterschied ob ich
                  für Hersteller eine ID mit dem wert 10 oder Toyota abspeichere.

                  aus sicht der DatenFlut würde es schon was Bringen.
                  Bitte Beachten.
                  Foren-Regeln
                  Danke

                  Kommentar


                  • #24
                    Original geschrieben von ghostgambler
                    Du hast schon längst wieder zwei Antworten
                    Ja die hab ich schon gelesen.
                    Den Index hätte ich mal entfern, was auch gleich für weniger MB im Index gesorgt hat :-)

                    Muß ich mal wieder gucken auf der Konsole mach mein fleißiger Przess macht....
                    bidgo - Benzin im Blut
                    Wir wollen Dich und Deine Karre
                    Videoblog & Bilderblog zu verschiedenen Bereichen

                    Kommentar


                    • #25
                      Du hast die implizite Konvertierung des DBMS ziemlich mißbraucht, indem du alle Werte zwischen ' eingepackt hast. Dadurch muss MySQL beim Import die Daten dem Spaltentyp entsprechend konvertieren und das dauert. Wenn du beim UPDATE schon so machst, gehe ich davon aus, dass INSERT und SELECT genauso sind. Also streng dich an und setzt die Werte richtig ein, z.B.

                      Datum=1231254, ... WHERE id=123456

                      usw.

                      Kommentar


                      • #26
                        Original geschrieben von web4free
                        Eine saublöde Frage hab ich ja noch - ohne dass Ihr mich bitte gleich auf Google oder mysql verweist.
                        Was ist 'enum'???
                        Ich gebe es ehrlich zu, dass ich nicht so 100% fit bin bei mysql - was man sicher bemerkt hat.
                        Denn grad bei der Farbe kann es ja von Seitens der Hersteller die dubiosesten Farbbezeichnungen geben, wo ich ja nicht wissen kann wieviele Zeichen ich brauche.
                        Im Gegensatz zu Farbe Global, die ja von uns vorgegeben wird.
                        http://dev.mysql.com/doc/refman/5.1/de/enum.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


                        • #27
                          Original geschrieben von asp2php
                          Du hast die implizite Konvertierung des DBMS ziemlich mißbraucht, indem du alle Werte zwischen ' eingepackt hast. Dadurch muss MySQL beim Import die Daten dem Spaltentyp entsprechend konvertieren und das dauert. Wenn du beim UPDATE schon so machst, gehe ich davon aus, dass INSERT und SELECT genauso sind. Also streng dich an und setzt die Werte richtig ein, z.B.

                          Datum=1231254, ... WHERE id=123456

                          usw.

                          WAS????
                          Mir hat mal Jemand gesagt bei PHP würde es in Summe schon viel ausmachen, wenn Du statt " ein ' verwendest. Wußte ich halt nicht, hat mir damals auch noch nie jemand gesagt. Ich habs dann auf der PHP.net auch gelesen warum das so ist. Man lernt ja nie aus und erweitert so seinen Horizont.

                          Bei MYSQ ist das genau so??? Jetzt kratz mir da aber mal wer den Buckel!
                          Das hätte ich aber nicht gedacht! OK, das ließe sich ja relativ leicht machen, weils ja eh pro Importeur - sind nur 6 - je 2 Zeilen zum Anpassen wäre.

                          Teilt diese Meinung sonst noch wer??
                          bidgo - Benzin im Blut
                          Wir wollen Dich und Deine Karre
                          Videoblog & Bilderblog zu verschiedenen Bereichen

                          Kommentar


                          • #28
                            Original geschrieben von Wyveres
                            Ok ich verstehe was du meinst aber warum sollte beim Normalisieren die Konsistenzsicherheit drauf gehen?
                            Beispiel
                            Wir haben 3 Update-Statements für ein Auto.
                            UPDATE 1 wird gemacht
                            UPDATE 2 schlägt fehl, weil ... Syntax-Error (oder so)
                            Jetzt haben wir ein Mal geänderte Daten und zwei Mal nicht.
                            Wenn das ganze aber auf eine Tabelle beschränkt bleibt ist diese an sich auf jeden Fall konsistent (außer der Strom fällt aus, aber das ist ja wieder was anderes~)

                            zudem ersparrt er sich eine Mänge Datenunsinn, weil ich glaube kaum das es Jedesmal nötig ist ein und die Selbe Automarke (z.b. Toyota, VW usw.) in eine DB tabelle zu speichern.
                            Nötig ist es nicht, es würde auch Daten sparen es auszulagern, aber dann braucht man wiederum einen JOIN beim Auslesen, den man sich in der aktuellen Variante sparen kann



                            Es gibt halt Vorteile und Nachteile und man kann nicht pauschal sagen "Normalisieren ist gut", das hängt von Fall zu Fall ab~

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

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

                            Kommentar


                            • #29
                              Original geschrieben von web4free
                              WAS????
                              Mir hat mal Jemand gesagt bei PHP würde es in Summe schon viel ausmachen, wenn Du statt " ein ' verwendest. Wußte ich halt nicht, hat mir damals auch noch nie jemand gesagt. Ich habs dann auf der PHP.net auch gelesen warum das so ist. Man lernt ja nie aus und erweitert so seinen Horizont.

                              Bei MYSQ ist das genau so??? Jetzt kratz mir da aber mal wer den Buckel!
                              Das hätte ich aber nicht gedacht! OK, das ließe sich ja relativ leicht machen, weils ja eh pro Importeur - sind nur 6 - je 2 Zeilen zum Anpassen wäre.

                              Teilt diese Meinung sonst noch wer??
                              Ähm... was hat denn das nun mit PHP zu tun ... ich denke, du brauchst 'ne Pause ... seit wann akzeptiert MySQL Stringliteral zwischen " (Gänsefüsschen) gepackt?
                              Zuletzt geändert von asp2php; 30.05.2007, 15:17.

                              Kommentar


                              • #30
                                Mir hat mal Jemand gesagt bei PHP würde es in Summe schon viel ausmachen, wenn Du statt " ein ' verwendest.
                                Das sollte man aber durch entsprechende Tests belegen und nicht nur blauäugig glauben. Tests zeigen minimale Unterschiede. Z.T. sogar in die andere richtung.

                                Wenn ich mir asps Kommentar so ansehe (hab nicht den ganzen Thread gelesen) so zielt dieser wohl eher darauf ab, dass du sämtliche Integer zu Strings missbrauchst. Das ist wohl deutlich schlimmer.

                                Kommentar

                                Lädt...
                                X