Hallo zusammen,
ich bin gerade dabei mein eigenes CMS-System komplett neu auf zu setzen. Wichtig dabei ist mir vorallem eine gute Performance.
Folgendes Problem:
Ich speichere beim Login die SessionId mit der BenutzerId und einem Timestamp in eine Tabelle. Diese Tabelle möchte ich als RAM-Tabelle laufen lassen, da bei jedem request eine Abfrage darauf läuft.
Jedoch muss ich nach jedem neustart des Servers diese Tabelle nun erstmal erstellen. Bis jetzt habe ich dafür vor jeder Prüfung folgende MYSQL-Abfrage abgesetzt:
Code:
mysql_query("CREATE TABLE IF NOT EXISTS `sessions` (
`sid` VARCHAR(64) NOT NULL UNIQUE COMMENT 'SessionId',
`u_id` INT UNSIGNED NOT NULL COMMENT 'u_id',
`cms` BOOLEAN DEFAULT 0 COMMENT 'Only set if user have acces to the cms',
`last` INT UNSIGNED NOT NULL COMMENT 'Last Updatetime',
PRIMARY KEY (`sid`),
INDEX (`sid`,`u_id`)
)ENGINE=MEMORY");
Das bedeutet jedoch das ich jedesmal eine Abfrage schicken muss und das die Performance grad wieder zerstört.
Ich habe nun davon gehört das ich mysql direkt beibringen kann beim hochfahren gewisse Tabellen zu erstellen. Das kann ich aber wiederum nicht bei meinen "Kunden" einbauen, da diese oft nur einfache Hostingpackete haben.
Soll ich also das ganze doch in eine normale Tabelle Speichern oder hat jemand anderes vllt noch eine gute Lösung oder Idee für das Problem?
Schonmal danke im Vorraus :)
Lg Raphael