Empresas
Empregos
  • Sobre nós
  • Soluções
    • Publicação de vagas
      Publique sua vaga e receba candidatos qualificados em 48h.
    • Avaliações de candidatos
      Mais de 500 testes técnicos e psicológicos, mais anti-fraude.
    • Headhunting
      Busca executiva personalizada do início ao fim.
    • Folha de Pagamento + EOR
      Dispersão de folha e EOR em mais de 15 países da LATAM.
  • Preços
  • Empregos

0

276
Visualizações
Las consultas de MySQL tardan más cuando la respuesta está vacía

Estoy construyendo mi primer sitio web usando Node.js como servidor web y busco para solicitar al servidor. Cuando la base de datos MySQL se ejecuta desde localhost, mis solicitudes tardan menos de 30 ms cada una y no hay problemas con la página web. Sin embargo, cuando el servidor está alojado en otro lugar, obtengo tiempos de respuesta muy largos SOLO cuando los datos resultantes de la consulta devuelven '[].' Estoy tratando de averiguar por qué este sería el caso solo cuando se solicita desde una base de datos que no es localhost (o por qué sucede esto en general).

Vea la diferencia en los tiempos de respuesta entre estos dos enlaces:

{enlace eliminado}

{enlace eliminado}

Verá que el que devuelve '[]' tarda mucho más que el otro.

Aquí está el código del servidor utilizado:

 router.get('/getgames/:matchid/:season', (req, res) => { let sql = `SELECT * FROM games WHERE match_id='${req.params.matchid}' AND season='${req.params.season}'`; let query = db.query(sql, (err, result) => { if (err) throw err; res.writeHead(200, { 'Content-Type': 'application/json' }); res.end(JSON.stringify(result)); }); });

No creo que sea necesario incluir el código del lado del cliente porque la solicitud toma el mismo tiempo cuando se coloca en la barra de URL.

También es importante tener en cuenta que las tablas a las que se accede tienen menos de 10 filas, por lo que no creo que indexar/publicar mis explicaciones solucione este problema (¿o sí?).

Editar: he agregado un índice de cobertura a la tabla de 'juegos', y la consulta sigue siendo igual de lenta.

Gracias por tu ayuda.

over 4 years ago · Santiago Trujillo
1 Respostas
Responde à pergunta

0

Por alguna razón de la que no estoy seguro, el nodo parece estar esperando que se cierre el mantenimiento de vida antes de enviar ese cuerpo de matriz vacío. La desactivación de keep-alive mitiga este problema, consulte https://nodejs.org/api/http.html#http_server_keepalivetimeout (el tiempo de espera predeterminado de keep-alive es de 5 s)

Supongo que tener un cuerpo más largo soluciona este problema, es por eso que regresa de inmediato para conjuntos con resultados sql reales.

over 4 years ago · Santiago Trujillo Relatório
Responde à pergunta
Encontrar trabalhos remotos

Descubra a nova forma de encontrar um emprego!

melhores empregos
Principais categorias de trabalho
Empresas
Postar vaga Preços Comercial
Jurídico
Termos e Condições Política de privacidade
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomende algumas ofertas para mim
Preciso de ajuda