Ankündigung

Einklappen
Keine Ankündigung bisher.

Wie viele Queries sind offen?

Einklappen

Neue Werbung 2019

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

  • Wie viele Queries sind offen?

    Hallo zusammen,
    kann man irgendwie rausfinden, wie viele Queries offen sind?

    Eine Funktion die das herausfindet und zurückgibt oder ähnliches? Habt ihr eine Lösung?


  • #2
    Spontan würd ich sagen: Nimm dir doch eine Counter variable und erhöhe diese bei jedem query und nachdem query ziehste wieder einen ab
    Look at This!
    Digital-Duty.DE
    Für Syntax-Fehler übernehme ich keine Haftung!

    Kommentar


    • #3
      Möchtest du das für die komplette Datenbank wissen oder nur für den aktuellen User der ein PHP Skript ausführt?

      Bei MySQL kannst du mit "SHOW PROCESSLIST" alle Prozesse auflisten. Dann musst du nur noch die Prozesse zählen die gerade einen Query durchführen.

      Bei einem einzelnen User wird das wohl nichts denn da wird natürlich beim absenden eines Queries gewartet bis er fertig ist und somit ist maximal ein Query "offen".

      Kommentar


      • #4
        ja eig. für die ganze seite

        Kommentar


        • #5
          Ja wie gesagt über SHOW PROCESSLIST. Aber was willst du damit genau machen? Die offenen Queries sind nicht unbedingt die interessantesten.

          Kommentar


          • #6
            Pro User ist, sofern nicht MYSQL_ASYNC in mysqlnd genutzt wird, immer nur ein query aktiv. Falls du einen DB Layer hast, kannst du die Query Aufrufe zählen - als Übersicht
            DevBlog|3D Online-Shopping|Xatrium

            Kommentar


            • #7
              Ich weis nicht ob Ihr CakePHP kennt. Unten steht im Debug Modus wie viele Querys offen sind, welche Datenbankzugriffe und welche Query du gerade ausführt etc. Sowas will ich nachbauen!



              Unten ein kleiner Ausschnitt aus Google.de

              Kommentar


              • #8
                Eben, dass ist das, was Tholi & Tiberius geschrieben haben.

                Du brauchst einen DB Layer oder eine eigene Queryfunktion wo du den Counter mit jedem Query erhöhst.
                Und am Schluss gibst du den Wert dann aus.

                Edit: damit kriegt man die Anzahl der Ausgeführen Queries

                Kommentar


                • #9
                  Ich glaub dein ausdruck OFFEN ist hier absolut deplaziert und sorgt für verwirrung, die queries die da angezeigt werden sind die die beim AKTUELLEN request ausgeführt WURDEN!!! Das hat nichts mit offen oder so zu tun.

                  Nichts anderes, sowas kann man imho bei jeder etwas besseren DB-Klasse über einen Profiler abfragen, findet man in Zend_Db, Doctrine und den DB-Klassen wohl fast jedes Frameworks, kannst dir ja z.b. einfach mal cake anschauen wie es da gelöst ist.
                  robo47.net - Blog, Codeschnipsel und mehr
                  | Caching-Klassen und Opcode Caches in php | Robo47 Components - PHP Library extending Zend Framework

                  Kommentar


                  • #10
                    Na jetzt versteh ich dich. Wie robo47 schon sagt ist offen hier ganz gefährlich falsch gewählt

                    Im Endeffekt musst du bei jedem Query eben den String mitspeichern und dazu vlt. noch die Ausführungszeit. Wenn du eine Klasse nutzt kannst du sowas ganz einfach implementieren.

                    Kommentar

                    Lädt...
                    X