mysql userdatenbank

gregi

Angesehenes Mitglied
Hallo

Ich arbeite gerade an einem Portal.

Ich bin gerade daran eine MySql Datenbank zu erstellen.
Ich arbeite mit PHP und MySql.
Die Spalten sehen in etwa so aus:

id, user, pass, email, geburtstag, kanton, ort, mw, beschreibung, bildid, motto, musik, lastlogin, active, etc...

Sollte ich die Informationen die bei jedem Seitenaufruf benötigt werden in einer separaten Tabelle speichern?

Das heisst:

Tabelle 1: id, user, pass, lastlogin, active
Tabelle 2: email, geburtstag, kanton, ort, mw, beschreibung, bildid, motto, musik

Hauptsächlich geht es mir um die Geschwindigkeit der Datenbank.
Bringt es viel Geschwindigkeitsvorteil die Tabellen zu trennen?

Merci für eure Beiträge
Gruss, Gregi
 
Hallo,

ich würde eher eine zweite Tabelle erstellen, welche nur für die anmeldeten Benutzer gilt, diese kann man dann in den Speicher auslagert werden (Typ Memory bzw. Head). Natürlich sollte diese kein Passwort enthalten, sondern die Session ID. Alle Benutzer in der Tabelle sind somit auch automatisch aktiv und müssen nur nach ablauf der Session wieder herausgeworfen werden, wofür man ein weiteres Feld benötigen würde, welche einen Timestamp speichert.



MfG Sascha Ahlers
 
Danke für Deine Antwort

Dies habe ich mir auch schon überlegt mit einer Memory Datenbank für user die gerade online sind.
Habe zwar noch nie damit gearbeitet.

Hmm, aber wie werfe ich am besten Die user nach z.B 15 minuten wieder heraus?
Mit einem Cron job, der jede Minute läuft?
Oder bei jedem Seitenaufruf eine Include Datei, die prüft welche user rausgeworfen werden müssen?

Gregi
 
Nun, wenn du einfach den Integer Wert von time() speicherst, kann Du diese über eine einzige SQL-Anwesung wieder raus werden. Die legst Du ganz einfach in den Kopf der Seite, so dass er auch von Gästen der Seite angestoßen wird, so wird der Cronjob überflüssig.

CODE $expire = time() + 15 * 60;
$sql = 'DELETE FROM session WHERE expire < ' . $expire . ';';


Wie herum Du diesen Aufschlag machst ist egal, ob nun bei Löschen, oder beim Einfügen und Updaten in die Tabelle.



MfG Sascha Ahlers
 
Zurück
Oben