Ankündigung

Einklappen
Keine Ankündigung bisher.

was ist günstiger: DB-Abfrage oder array bilden

Einklappen

Neue Werbung 2019

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

  • was ist günstiger: DB-Abfrage oder array bilden

    Die Frage steht ja schon im Betreff

    Ich möchte gerne wissen, was den server weniger stark belastet.

    Wenn ich beim login die Daten einmal aus der DB auslese, in ein array schreibe und nur ab und neue Einträge an die DB sende.

    oder

    bei jeder Aktualisierung die DB abfrage.

    Ich habe noch keinen Plan wie hoch die Last sein wird, es können aber schon etliche tausend Aktualisierungen am Tag werden.

    Ich hoffe für meine Frage gibt es eine halbwegs allgemeingültige Antwort.

    Grüßle und vielen Dank schon mal voraab fürs LEsen und Gedanken machen...
    [Wenns eine Rolle spielt: Homepage liegt bei 1&1]

  • #2
    Hallo carsten, Willkomen im Forum!

    Deine Frage ist zu ungenau, ich habe noch nicht verstanden, was Du genau möchtest? Einmal schreibst Du Auslesen, dann wieder Updaten.
    PHP ist zustandslos, gehts hier also um Sessionnutzung?
    [COLOR="#F5F5FF"]--[/COLOR]
    [COLOR="Gray"][SIZE="6"][FONT="Georgia"][B]^^ O.O[/B][/FONT] [/SIZE]
    „Emoticons machen einen Beitrag etwas freundlicher. Deine wirken zwar fachlich richtig sein, aber meist ziemlich uninteressant.
    [URL="http://www.php.de/javascript-ajax-und-mehr/107400-draggable-sorttable-setattribute.html#post788799"][B]Wenn man nur Text sieht, haben viele junge Entwickler keine interesse, diese stumpfen Texte zu lesen.“[/B][/URL][/COLOR]
    [COLOR="#F5F5FF"]
    --[/COLOR]

    Kommentar


    • #3
      Hmmm, hats fast befürchtet.
      Hier also etwas genauer...

      In der DB stehen Sätze mit jeweils ~8 Angaben, hauptsächlich Integer, die Zeiten darstellen (Unix-Time).

      Die Hauptaufgabe des Programms ist die Zeitspanne neu anzugeben bzw. die Datensätze nach verschiedenen Parametern zu ordnen.
      Das kann ich ja auf verschiedene weisen erledigen:

      -entweder die Datensätze immer neu aus der DB auslesen und dabei über SORT neu sortieren
      oder
      -die Datensätze einmal abfragen und die Sätze in (zweidimensionale) arrays einlesen und diese dann mit usort sortieren und ausgeben
      (klar: dies geht nur mit Sessions)

      Zwischenzeitlich werden natürlich auch mal Änderungen der Einträge fällig, dies geschieht dann mit UPDATE in der DB und parallel im array.

      Kommentar


      • #4
        Naja, also wenns wirklich viel mit sortieren und filtern zu tun hat würde ich lieber die Datenbank beanspruchen, da ist sortieren und filtern meines erachtens wesentlich komfortabler.

        Kommentar


        • #5
          Genau, die zeitliche Dimension (bzw. die Info, über wir scriptübergreifend meinen) hat gefehlt. Auch wenn die Frage bei den paar Daten ohnehin unnötig scheint, würde ich zu DB Operationen raten. Den Unterschied zwischen Session(Datei)management und DB Operation kann man wohl vernachlässigen, bei Sortierung dürfte SQL allerdings deutlich die Nase vorn haben.
          [COLOR="#F5F5FF"]--[/COLOR]
          [COLOR="Gray"][SIZE="6"][FONT="Georgia"][B]^^ O.O[/B][/FONT] [/SIZE]
          „Emoticons machen einen Beitrag etwas freundlicher. Deine wirken zwar fachlich richtig sein, aber meist ziemlich uninteressant.
          [URL="http://www.php.de/javascript-ajax-und-mehr/107400-draggable-sorttable-setattribute.html#post788799"][B]Wenn man nur Text sieht, haben viele junge Entwickler keine interesse, diese stumpfen Texte zu lesen.“[/B][/URL][/COLOR]
          [COLOR="#F5F5FF"]
          --[/COLOR]

          Kommentar


          • #6
            Oki,
            vielen Dank für die Angaben.
            Bin halt neu in der php-Programmierung und da fehlen mir leider noch die Kenntnisse, was da für den Server effektiver ist...

            Kommentar


            • #7
              Ausserdem kannst du die Daten dann gleich im richtigen DB-Format speichern und die Differenzen von der DB berechnen lassen.
              Gruss
              L

              Kommentar


              • #8
                Die Hauptaufgabe des Programms ist die Zeitspanne neu anzugeben bzw. die Datensätze nach verschiedenen Parametern zu ordnen.
                Auf jeden Fall die DB benutzen.

                Unabhaengig davon: Es heisst C/C++ sei um den Faktor 10 bis 100 schneller als PHP. Ich weiss nicht in welcher Sprache MySQL geschrieben ist, aber ich nehme stark an eine dieser beiden Sprachen. Ausserdem ist eine Datenbank ja fuer Operationen dieser Art konzipiert.

                Gibt es einen konkreten Grund, dass du darueber nachdenkst, dauert es mit der DB denn zu lange?
                "[URL="http://www.youtube.com/watch?v=yMAa_t9k2VA&feature=youtu.be&t=25s"]Mein Name ist Lohse, ich kaufe hier ein.[/URL]"

                Kommentar

                Lädt...
                X