Business
Jobs
  • About Us
  • Solutions
    • Job Postings
      Post your job and receive qualified candidates in 48h.
    • Candidate Assessments
      500+ technical and psychological tests, plus anti-fraud.
    • Headhunting
      Tailor-made executive search from start to finish.
    • Payroll + EOR
      Payroll dispersal and EOR across 15+ LATAM countries.
  • Pricing
  • Jobs

0

274
Views
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 answers
Answer question

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 Report
Answer question
Find remote jobs

Discover the new way to find a job!

Top jobs
Top job categories
Business
Post vacancy Pricing Sales
Legal
Terms and conditions Privacy policy
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Show me some job opportunities
There's an error!