Вопрос по MySQL

x330122

Участник
Сообщения
357
Реакции
152
Как убрать зависания сервера от отправки данных на мускул ? Я получается как делаю, сначала получаю строку из FetchRow, затем её форматирую и отсылаю обратно, все казалось бы работает, но вот если одновременно будет выполнятся несколько таких запросов(FetchRow), то сервер подвисает на 1-2 секунды, так вот, как это можно исправить ?
Кодик, если в цикле его хоть штук 5 таких запросов сделать, начинаются зависания.(for new i =0; i< 5;i++) и т.д
C-подобный:
    char Wrapper[1024];
    Format(Wrapper, sizeof(Wrapper), "SELECT * FROM `lazydb` WHERE `SteamID` = \"%s\"", SIDJunk);
    Handle Request = SQL_Query(g_SQL, Wrapper);
    char Result[2048];
    SQL_FetchRow(Request);
    SQL_FetchString(Request, containerPOSITION, Result, sizeof(Result));
    JSON_Object obj;
    if(StrEqual(Result, ""))
    {
        obj = new JSON_Object();
    }else obj = json_decode(Result);
    obj.SetString(Variable, value);
    char Out[3048];
    obj.Encode(Out, sizeof(Out));
    Format(Wrapper, sizeof(Wrapper), "UPDATE `lazydb` SET `%s` = '%s' WHERE SteamID = \"%s\"",ClusterName, Out, SIDJunk);
    SQL_FastQuery(g_SQL, Wrapper);  
    CloseHandle(Request);
 

Kruzya

Участник
Сообщения
12,970
Реакции
10,924
  • Команда форума
  • #2
Как убрать зависания сервера от отправки данных на мускул ?
Перейти на SQL_TQuery. SQL_Query все делает в один поток с обработкой кадра, потому и подвисает, ибо сервер ждет ответа от мускла.
 
Сверху Снизу