долгое сохранения аккаунта // sqilite
#21

можно повысить производительность отключив синхранизацию с базой данных, по умолчанию стоит FULL — полная синхронизация, в запасе еще 2-ва варианта:
NORMAL — частичная
OFF — синхронизация отключена
использовать проще простого
PHP Code:
db_query (database"PRAGMA synchronous = NORMAL; UPDATE база даных SET значение WHERE условие"); 
NORMAL - повысит производительность раз в 10 думаю
OFF - раз в 100
точно не знаю это мои предположения, тк тесты не проводил и никогда не использовал и к чему это может привести тоже не скажу=)
Reply
#22

обьясни на примере если не сложно)
Reply
#23

а мне казалось понятно обьяснил и показал, ну да ладно...
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_basestr);
    
format(str144"Аккаунт сохранен за %d мс",GetTickCount() - time);
    
SendClientMessage(userid,-1,str);

Reply


Forum Jump:


Users browsing this thread: 1 Guest(s)