Ankündigung

Einklappen
Keine Ankündigung bisher.

Performancefrage php/mysql

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

  • Performancefrage php/mysql

    Hi!
    Eine frage, geht es sehr in die performance eines Mysql Servers wenn er mit nur einem aufruf ca 40 mal eine Abfrage an den Server schicken muss?

    Sprich "Select * from table..." ?

    Ist nur bei einer bestimmten Ansicht der Fall (Mitgliederonlineliste).

    Aber wenn da mal so 10 Leute hintereinander draufklicken dürfte das schon ziemlich resourcenlastig sein oder?

  • #2
    AW: Performancefrage php/mysql

    Du schickst doch nicht 40 Abfragen, aber eine Abfrage, die dir 40 Mitgleider zurückliefert.
    Desweiteren ist es weniger ressourcesfressend, wenn du die Felder ausschreibst, die du dir zurückgeben lassen willst. (also nicht *)

    Kommentar


    • #3
      AW: Performancefrage php/mysql

      ahm leider doch!
      PHP-Code:
                      case "useractive";     $show_user->seitensplitt('SELECT user_id, lastact, lastlogin FROM sessions WHERE lastact > '.(time()-$global_var['showonlinetime']).' GROUP BY user_id ORDER BY '.$queryinfo40$_GET['showuserpage']);    break; 
      Die funktion musst nicht verstehen, egal! Auf jeden bekomm ich durch das group by und WHERE alle User die grad aktiv sind.
      Dannach läuft der array den ich mit mysql_fetch_assoc bekom noch ne foreach schleife durch!

      PHP-Code:
                      $tempzahl 0;
                      
      $show_user_temp = new mysql_db;
                          foreach(
      $show_user->rowausgabe as $showuserforeach) { //// Letzte aktivität raussuchen, da mit Group by nicht immer der richtige Wert genommen wird!//// 
                              
      $show_user_temp->ausgabe('SELECT user_id, lastact, lastlogin FROM sessions WHERE user_id = "'.$showuserforeach['user_id'].'" ORDER BY lastact DESC');
                              
      $show_user->rowausgabe[$tempzahl]['lastact'] =    $show_user_temp->row['lastact'];
                              
      $show_user->rowausgabe[$tempzahl]['lastlogin'] = $show_user_temp->row['lastlogin'];
                              
      $tempzahl++;
                          } 
      Damit ich mir durch das "ORDER BY" immer die "neuesten" raussuche. Da bei jedem login in meiner tabelle sessions eine neue zeile angelegt wird!

      Hoffe ich konnte das verständlich machen!


      (Das ganze ist eine vorübergehnde Lösung, da mir bis dato noch keiner in meinem anderen Thread geantwortet hat!)

      Kommentar


      • #4
        AW: Performancefrage php/mysql

        GROUP BY sucht immer den neusten eintrag raus....

        aber du hast immer noch den falschen ansatz. du solltest deine benutzertabelle einfach um eine spalte erweitern um dort immer die aktuellste zeit einzutragen in der ein user aktiv war.
        AC/DC Fanpage www.ifyouwantblood.de
        Nein zur Zensur im Internet und anderswo - Anonymous

        Kommentar


        • #5
          AW: Performancefrage php/mysql

          Zitat von Brian Beitrag anzeigen
          GROUP BY sucht immer den neusten eintrag raus....

          aber du hast immer noch den falschen ansatz. du solltest deine benutzertabelle einfach um eine spalte erweitern um dort immer die aktuellste zeit einzutragen in der ein user aktiv war.

          Hat er doch, "lastact".
          > Quit - don't quit. Noodles - don't noodles. <

          Kommentar


          • #6
            AW: Performancefrage php/mysql

            Aber die steckt ja in sessions, nicht in users

            Kommentar


            • #7
              AW: Performancefrage php/mysql

              sessions hat die daten
              -> wann hat der user sich eingeloggt,
              -> wann hat er das letzte mal wo raufgeklickt
              -> mit welcher ip
              -> user_id, sprich die ID von der tabelle "Users"
              -> status des user (wenn er gesperrt wird, wird er auch ausgeloggt)


              users hat die daten
              -> username
              -> sein passwort
              -> seine email
              -> und weiter sachen die ich noch nicht öffentlich zeigen will^^


              GROUP BY sucht immer den neusten eintrag raus....
              Macht es eben nicht! Ich lass nach lastact sortieren, da sagen wir ist das letzte 13.11 (umgewandelt) und der zeigt aber immer den ersten Eintrag (nach der ID, auch sessions hat nen primary schlüssel oder wie dat heist)... von daher zeigt mir group by immer den ersten eintrag an!

              Kommentar


              • #8
                AW: Performancefrage php/mysql

                Zitat von Agent Smith Beitrag anzeigen
                GROUP BY sucht immer den neusten eintrag raus....

                Macht es eben nicht! Ich lass nach lastact sortieren, da sagen wir ist das letzte 13.11 (umgewandelt) und der zeigt aber immer den ersten Eintrag (nach der ID, auch sessions hat nen primary schlüssel oder wie dat heist)... von daher zeigt mir group by immer den ersten eintrag an!
                mir ist immer noch ein rätsel warum man soviel so kompliziert machen muss.....+phpbb_eek

                auch versteh ich nicht, warum du millionen sessions darin speichern willst, nur um zu wissen, wann der benutzer zum letzten mal da war....

                naja, hast recht, GROUP BY sucht den ersten eintrag raus unabhängig der sortierung (weil die sortierung immer zuletzt kommt)....
                AC/DC Fanpage www.ifyouwantblood.de
                Nein zur Zensur im Internet und anderswo - Anonymous

                Kommentar


                • #9
                  AW: Performancefrage php/mysql

                  Wieso/Warum ist egal :P
                  Ich weis schon was du meinst, so wollt ich das ganze auch als erstes machen, allerdings, arbeite ich grad an einem Projekt wo ich gerne wissen will wann sich welcher Benutzer mit welcher IP eingeloggt hat

                  Aber ich lass es halt erstmal so, vl findet sich noch ein anderer Lösungsweg


                  edit:
                  Noch eine Frage: Braucht PHP zum rechnen viel Leistung?^^ Ich denke net oder? :P Wann dat mein Taschenrechner kann

                  Kommentar


                  • #10
                    AW: Performancefrage php/mysql

                    Ich weis schon was du meinst, so wollt ich das ganze auch als erstes machen, allerdings, arbeite ich grad an einem Projekt wo ich gerne wissen will wann sich welcher Benutzer mit welcher IP eingeloggt hat
                    dann solltest du eher logs schreiben, als das ganze in mysql einzufügen....

                    Zitat von Agent Smith Beitrag anzeigen
                    edit:
                    Noch eine Frage: Braucht PHP zum rechnen viel Leistung?^^ Ich denke net oder? :P Wann dat mein Taschenrechner kann
                    "php rechnet" um einiges schneller und performanter als mysql.

                    der vergleich mit dem taschenrechner hingt gewaltig, der hat kein betriebssystem und keine zend engine dazwischen und vor allem läuft da nur ein "programm".


                    nein, das rechnen sollte nicht dein problem sein. eher mysql select, der die längste zeit in anspruch nimmt.
                    AC/DC Fanpage www.ifyouwantblood.de
                    Nein zur Zensur im Internet und anderswo - Anonymous

                    Kommentar


                    • #11
                      AW: Performancefrage php/mysql

                      joa ich denks mir mit der datenbank!
                      Das problem ist nur Logs werden mit der zeit unübersichtlich! Und das ist halt die "bequemste" Lösung...

                      Kommentar


                      • #12
                        AW: Performancefrage php/mysql

                        Hi!

                        Ich würd wenn schon bei der User-Tabelle eine neue Spalte kreieren wo alle IP's zur Zeit gespeichert werden und nicht tausendeinträge pro User in der Sessions Tabelle. Dann brauchst du kein Group By.

                        Oda hab ich da etwas falsch verstanden?
                        //Babedier

                        Kommentar


                        • #13
                          AW: Performancefrage php/mysql

                          Jop hast du! :P

                          Beispiel:
                          Ein User loggt sich 10 mal ein, dann will ich von jedem einzelnen login die IP Adresse, Zeitpunkt des Logins usw. haben!
                          Wenn ich nur die IP nach der Registrierung hab ist gut und schön, aber damit kann ich recht wenig anfangen, sprich ich kann mit nix vergleichen!
                          Keine multis finden

                          Kommentar


                          • #14
                            AW: Performancefrage php/mysql

                            Och soweit hab ichs ja verstanden..

                            Ich meinte das du eine spalte in der usertabelle so "logdata" wo du so ungefähr Speicherst "IP - Zeit,Zeit ; IP - Zeit,Zeit ; .."
                            bzw. ist das für eine Admin funktion oder öffentliche Funktion?
                            //Babedier

                            Kommentar


                            • #15
                              AW: Performancefrage php/mysql

                              vergiss aber nicht das in deinen datenschutzerklärungen zu erwähnen, sonst könnte das strafrechtliche folgen haben.
                              AC/DC Fanpage www.ifyouwantblood.de
                              Nein zur Zensur im Internet und anderswo - Anonymous

                              Kommentar

                              homepage-forum.de - Hilfe für Webmaster! Statistiken

                              Einklappen

                              Themen: 57.258   Beiträge: 432.210   Mitglieder: 29.677   Aktive Mitglieder: 22
                              Willkommen an unser neuestes Mitglied, Euro_crem.

                              Online-Benutzer

                              Einklappen

                              630 Benutzer sind jetzt online. Registrierte Benutzer: 0, Gäste: 630.

                              Mit 9.939 Benutzern waren am 17.05.2023 um 21:38 die meisten Benutzer gleichzeitig online.

                              Die neuesten Themen

                              Einklappen

                              Die neuesten Beiträge

                              Einklappen

                              Lädt...
                              X
                              😀
                              🥰
                              🤢
                              😎
                              😡
                              👍
                              👎