Ankündigung

Einklappen
Keine Ankündigung bisher.

"Memory size exhausted", die Zweite.

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

    #16
    Nachtrag:

    Mir ist noch etwas eingefallen zum Thema MySQL-Query-Effizienz.

    Situation:

    Ich habe eine MySQL-Tabelle mit sagen wir 15 Spalten.

    In einer Spalte davon ist ein Umschalter (Bool), der bestimmt, ob die Infos aus den restlichen 14 Spalten überhaupt benötigt werden oder nicht.

    Was ist besser:

    A) Mit einer kompletten Abfrage alle Werte einlesen und so instesamt nur EINE Datenbank-Anfrage stellen (die aber größer ist),

    oder

    B) nur das Umschaltfeld mit einer ersten Abfrage auslesen und dann bei Bedarf mit einer ZWEITEN Datenbankabfrage die restlichen Felder einlesen, also u.U. zwei Abfragen absenden.

    Sorry, hätte bestimmt auch googeln können, aber wir sind hier gerade so schön drin im Thema :-)
    Zuletzt geändert von Anton Korduan; 13.10.2020, 11:19.

    Kommentar


      #17
      Zitat von Anton Korduan Beitrag anzeigen
      Nachtrag:

      Mir ist noch etwas eingefallen zum Thema MySQL-Query-Effizienz.

      Situation:

      Ich habe eine MySQL-Tabelle mit sagen wir 15 Spalten.

      In einer Spalte davon ist ein Umschalter (Bool), der bestimmt, ob die Infos aus den restlichen 14 Spalten überhaupt benötigt werden oder nicht.

      Was ist besser:

      A) Mit einer kompletten Abfrage alle Werte einlesen und so instesamt nur EINE Datenbank-Anfrage stellen (die aber größer ist),

      oder

      B) nur das Umschaltfeld mit einer ersten Abfrage auslesen und dann bei Bedarf mit einer ZWEITEN Datenbankabfrage die restlichen Felder einlesen, also u.U. zwei Abfragen absenden.

      Sorry, hätte bestimmt auch googeln können, aber wir sind hier gerade so schön drin im Thema :-)
      Na ja, das ist natürlich abhängig von den Massen die als Ergebnis kommen. Bis zu einigen 1.000 würde ich alles gleich mit laden und bei der Verarbeitung schauen und die Daten im Bedarfsfall direkt haben. Super effizient wird es sicher, wenn man zwei Abfragen macht und per WHERE... bei entsprechendem Bool nur die Zeilen komplett ausliest und eine gegenteilige Abfrage machen wo weniger ausgelesen wird. Kommt halt jeweils darauf an.

      Mit freundlichen Grüßen

      Nils Dornblut

      Blog - Facebook - Twitter
      Communitybetreiber: domainfactory GmbH
      Impressum / Pflichtangaben

      Kommentar


        #18
        Wenn du es genau wissen willst solltest du mal mit „microtime“ die Ausführungszeit und mit „memory_get_usage“ den Speicherbedarf innerhalb der Schleife messen.
        MfG,
        masterframe

        Kommentar


          #19
          Danke für die Infos, masterframe und Nils Dornblut !

          Kommentar

          Lädt...
          X