18/05/2021 19:17
(Esta mensagem foi modificada pela última vez a: 18/05/2021 19:20 por MateusCandido.)
Olá, a um tempo atrás fiz uma pergunta aqui a respeito da diferença entre as funções mysql_query, mysql_tquery e mysql_pquery.
Me falaram que o mysql_tquery seria o mais recomendado para varias consultas simultâneas, pois ele faz a consulta em um thread separado e não ficaria "enfileirando" as consultas, o que consumiria muito desempenho da maquina, só que ele possui um certo delay.
O que está acontecendo é que quando há muitos jogadores conectando ao mesmo tempo, esse consulta com mysql_tquery esta demorando demais para enviar o resultado para a callback, muitas das vezes fico cerca de 1 minuto para receber o resultado da consulta.
Esta forma que estou fazendo é a mais correta ?
O uso do mysql_tquery é correto nessa situação ?
O que pode causar essa lentidão na resposta das consultas ?
Me falaram que o mysql_tquery seria o mais recomendado para varias consultas simultâneas, pois ele faz a consulta em um thread separado e não ficaria "enfileirando" as consultas, o que consumiria muito desempenho da maquina, só que ele possui um certo delay.
O que está acontecendo é que quando há muitos jogadores conectando ao mesmo tempo, esse consulta com mysql_tquery esta demorando demais para enviar o resultado para a callback, muitas das vezes fico cerca de 1 minuto para receber o resultado da consulta.
Código:
public OnPlayerConnect(playerid)
{
new query[90];
mysql_format(DBCon, query, sizeof(query), "SELECT * FROM samp_bans WHERE nome = '%e'", Nome[playerid]);
mysql_tquery(DBCon, query, "BanChecked", "d", playerid);
}
callback::BanChecked(playerid)
{
new Cache:cache;
cache = cache_save();
if(cache_is_valid(cache))
{
if(cache_num_rows() > 0)
{
//mostra dialog de banido
}
}
cache_delete(cache);
return 1;
}
Esta forma que estou fazendo é a mais correta ?
O uso do mysql_tquery é correto nessa situação ?
O que pode causar essa lentidão na resposta das consultas ?
☬ Mateus_Candido ☬
✦ Scripter SA:MP desde 2018 - Criador do BMRP ✦