долгое сохранения аккаунта // sqilite - Printable Version
+- SA-MP Forums Archive (
https://sampforum.blast.hk)
+-- Forum: Non-English (
https://sampforum.blast.hk/forumdisplay.php?fid=9)
+--- Forum: Languages (
https://sampforum.blast.hk/forumdisplay.php?fid=33)
+---- Forum: Русский/Russian (
https://sampforum.blast.hk/forumdisplay.php?fid=32)
+---- Thread: долгое сохранения аккаунта // sqilite (
/showthread.php?tid=497612)
Re: долгое сохранения аккаунта // sqilite -
Mr_Zlodei - 04.03.2014
можно повысить производительность отключив синхранизацию с базой данных, по умолчанию стоит FULL — полная синхронизация, в запасе еще 2-ва варианта:
NORMAL — частичная
OFF — синхронизация отключена
использовать проще простого
PHP Code:
db_query (database, "PRAGMA synchronous = NORMAL; UPDATE база даных SET значение WHERE условие");
NORMAL - повысит производительность раз в 10 думаю
OFF - раз в 100
точно не знаю это мои предположения, тк тесты не проводил и никогда не использовал и к чему это может привести тоже не скажу=)
Re: долгое сохранения аккаунта // sqilite -
Dragunovje - 04.03.2014
обьясни на примере если не сложно)
Re: долгое сохранения аккаунта // sqilite -
Mr_Zlodei - 05.03.2014
а мне казалось понятно обьяснил и показал, ну да ладно...
PHP Code:
save_user(userid){
new str[600];
new time = GetTickCount();
format(str,500,"PRAGMA synchronous = OFF; UPDATE USERS SET MONEY = '%d', KILLS = '%d', SKIN = '%d', ADMIN = '%d', \
LEVEL = '%d', EXP = '%d', MUTE = '%d', FRAKA = '%d', DRUGS = '%d' WHERE NAME = '%s'",
pinfo[userid][pcash],pinfo[userid][pkill],pinfo[userid][pskin],pinfo[userid][padminlvl],
pinfo[userid][plevel],pinfo[userid][pexp],pinfo[userid][pmute],pinfo[userid][pfraka],
pinfo[userid][pdrugs],pinfo[userid][pname]);
db_query(users_base, str);
format(str, 144, "Аккаунт сохранен за %d мс",GetTickCount() - time);
SendClientMessage(userid,-1,str);
}