Performance - Array oder Datenbank?

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

  • Performance - Array oder Datenbank?

    Ich habe mal eine technische Frage zu PHP bzw. MySQL:

    Ich hab Daten, die irgendwo auf dem Server gespeichert werden müsssen. Entweder in einem Array, oder einer MySQL Datenbank. Die Sache ist nur, dass es mindestens 20.000 Einträge in einer Tabelle, bzw. in einem Array wären. Da hab ich mich gefragt, was schneller arbeitet: Ein mehrdimensionales in dem es 20.000 * 4 Einträge gibt, oder eine Tabelle, mit 4 Spalten und 20.000 Zeilen.

    Deshalb: Wenn das Array in den Speicher des Servers geladen wird, wird die gleiche Speicherstelle von anderen Clienten auch benutzt, oder wird dieses Array dann praktisch mehrmals in den Speicher geladen, bzw.: Kann man ein Array dazu veranlassen auf eine bestimmt Art und Weise gespeichert zu werden, sodass es nur 1x auf dem Server geladen werden muss?
    Oder:
    Werden Daten, die aus der Datenbank ausgelesen werden gecacht? Ist es einfacher wenn nur bestimmte Daten immer wieder ausgelesen und als Variable gespeichert werden?

    Was ist schneller? Oder gibt es noch bessere Wege?

    Danke euch,
    Click
    Du kannst jeden Tag wie deinen letzten leben, du musst nur jeden Tag das Gleiche tun.

    Denk' mal drüber nach!

  • #2
    werden die kompletten 20.000 Datensätze jedes mal benötigt?

    Bei jedem Aufruf wird das array neu in den Speicher geladen. PHP bietet AFAIK auch keine Möglichkeit den Speicher gemeinsam zu nutzen.

    Aber darf man Fragen, was du vor hast?

    Kommentar


    • #3
      also bei dem optimierungsgrad der heutigen datenbankserver kann ich mir keine schnellere lösung denken. für das array müsstest du doch auch einen eigenen server schreiben, damit es ständig verfügbar im speicher ist.
      blllubb

      Kommentar


      • #4
        nicht alle Daten werden benötigt, es ist aber vorraussehbar, dass bei hoher Useranzahl sehr viele (verschiedene) Daten benötigt werden könnten. Wahrscheinlich ist es wirklich sinnvoller eine Datenbank zu nutzen, alleine weil man da wirklich nur einen Datensatz holen MUSS.
        Ich wusste bis jetzt nur aus C Programmen, dass es möglich ist auf den gleichen Speicherort aus von verschiedenen Clienten zuzugreifen.

        Danke euch auf jeden Fall
        Click
        Du kannst jeden Tag wie deinen letzten leben, du musst nur jeden Tag das Gleiche tun.

        Denk' mal drüber nach!

        Kommentar


        • #5
          Original geschrieben von Click
          nicht alle Daten werden benötigt, es ist aber vorraussehbar, dass bei hoher Useranzahl sehr viele (verschiedene) Daten benötigt werden könnten. Wahrscheinlich ist es wirklich sinnvoller eine Datenbank zu nutzen, alleine weil man da wirklich nur einen Datensatz holen MUSS.
          Ich wusste bis jetzt nur aus C Programmen, dass es möglich ist auf den gleichen Speicherort aus von verschiedenen Clienten zuzugreifen.

          Danke euch auf jeden Fall
          Click
          C-Application hält die Verbindung ständig zum Client, daher muss der Server auch nur einmal gefüttert werden. WebApps dagegen verwenden für die Kommunikation das zustandslose HTTP-Protokoll und kennen die Clients daher nicht mehr. Bei jedem Request müssen die Daten für jeden Client neu aufbereitet werden. Deshalb ist gerade hier der Einsatz von Datenbank absolut notwendig. Mit optimierte Abfragen brauchst du keine Gedanken an Performance wegen zu hohen Zugriff Sorgen zu haben. Außerdem 20 Tds Datensätze ständig im Speicher zu halten ist absoluter Blödsinn, das mach man selbst bei normaler Client/Server Anwendung auch nicht, sondern man fragt für jeden Client beim DB-Server nach und holt nur die notwendigen Daten raus.

          Kommentar

          Lädt...
          X