Wie belastbar ist eine datenbank?

  • Ich programmiere gerad nen Login-bereich und wollte wissen wie ich die daten am besten speichern sollte.
    Es geht mir haupsächlich um die Geschwindigkeit mit der die daten ausgelesen werden.

    1. Ich dachte daran die Daten in zwei tabellen zu packen zB. "logindaten" und "profile". die login-daten werden weit häufiger aufgerufen als die profile, also spart man sich das auslesen der profildaten.

    2. Ich könnte aber auch statt der tabelle "profile", jedem Nutzer eine "nutzername_profil.txt" erstellen, wo dann die profile drinnstehen.

    3. Ich könnt auch alles in eine tabelle packen, dann muss ich weniger coden.

    Es stellt sich nur die frage was schneller ist.

    MFG

  • Eine TextDatei ist schneller, allerdings empfehle ich eine Datenbank zu benutzen, da eine textdaei einfach zu unsicher ist. Allerdings ist es nur schneller, wenn die MySQL die Daten nicht im Cache hat. MySQL-AbrufZeit ist zirka 0.001-0.3S bei Normalbetrieb, ichd enke das sollte schnell genug sein ^^

  • Doofe Frage: Aber wenn ich eine Nutzername_profil.php erstelle, kann man den inhalt nicht mehr auslesen?

  • eigentlich schon. Ich hatte testweise eine Datei von 60MB ueber file_get_contents in die RAM geladen, und das gleiche ueber MySQL gemacht, mysql war ein Tick langsamer (bei gleicher Serverauslastung).

    direkt:
    PHP-->liest Datei--->gibt Datei aus
    MySQL:
    PHP-->gibt Kommando an mysqld-->liest Datenbank ein-->gibt Ausgabe an PHP

  • Zitat von DarkSyranus

    So, dann bring ich mal wieder Licht ins Dunkeln.
    Wenn Datein nur einmal gelesen werden etc. ist die .txt Variante wohl ein wenig schneller, wenn die Daten aber oft benutzt werden, ist mysql ein wenig schneller.
    Frag mich jetzt bitte nicht warum, aber das haben eigene Tests ergeben.

    Zitat von d4f

    Eine TextDatei ist schneller, allerdings empfehle ich eine Datenbank zu benutzen, da eine textdaei einfach zu unsicher ist. Allerdings ist es nur schneller, wenn die MySQL die Daten nicht im Cache hat. MySQL-AbrufZeit ist zirka 0.001-0.3S bei Normalbetrieb, ichd enke das sollte schnell genug sein ^^

    das beantwortet doch schon warum es so ist ;)
    mysql schreibt daten in sein cache und kann so schneller drauf zugreifen ;)