Wir haben einen vServer..
die Accounts werden geladen mit diesem SQL Befehl:
SELECT * FROM `tabelle` WHERE `Name` = 'Zunno'
Danach wird mysql_fetch_field benutzt...
Dies dauert schlappe 8 Millisekunden.
Die Accounts werden so gespeichert:
Für jede Varriable wird ein Query ausgeführt.
UPDATE `tabelle` SET `Geld` = '1243' WHERE `Name` = 'Zunno'
Hier die Funktion dazu die ich mir geschrieben habe.
stock MySQLUpdate(playerid,spalte[],data)
{
new query[128],name[MAX_PLAYER_NAME];
GetPlayerName(playerid, name, sizeof(name));
format(query,sizeof(query), "UPDATE `accounts` SET `%s` = '%d' WHERE `Name` = '%s'",spalte,data,name);
mysql_query(query);
mysql_free_result();
}
Das Problem besteht seid dem wir auf MySQL umgestiegen sind.
Die Accounts werden alle 15,30 & 45 Minuten nach Login gespeichert.
Da wenn alle Accounts gleichzeitig gespeichert werden, mega Lags entstehen.
So mindert sich das ganze etwas...
Das Speichern dauert im Schnitt 1500 Millisekunden..
Natürlich werden die Accounts auch gespeichert wenn jemand Disconnected.
Mit freundlichen Grüßen,
Zunno