O.T.: Consulta en MySQL se demora en un servidor en otro no.

240 views
Skip to first unread message

Alejandro Garcia G.

unread,
Jan 26, 2018, 12:15:54 PM1/26/18
to Comunidad de Visual Foxpro en Español
Saludos.

Tengo un detalle en el programa, resulta que una consulta en un servidor con unos datos X se demora 21 segundos pero en otro servidor, con otros datos Y, menor que el primero (X) se demora tanto que hasta se pierde la conexión, le hablo que he esperado por mas de 20 minutos.

Ambos MySQl son la misma versión 5.1.73 las tablas son las misma estructura, en donde demora menos tengo cerca de 300 mil registros pero en donde se queda hay apenas 90 mil. El servidor es un Proliant en ambos casos, en la que demora menos es mas viejo que en donde se queda. Solo es esa consulta.

¿Que puedo ver o revisar?

Carlos Vargas

unread,
Jan 26, 2018, 1:17:15 PM1/26/18
to Comunidad de Visual Foxpro en Español
ok, normalmente nosotros realizamos consultas usando la palabra "selec ...."
en mysql existe una instruccion que nos indica como el select esta siendo atacado por el servidor
es DESCRIBE SELECT ...


este nos retornara informacion util de como se estan extrayendo los datos, si se estan utilizando los indices (que son los que aceleran las consultas)
muestra la info que te retorna para ver que puede estar sucediento y ver si es la consulta en si misma la que tiene problemas.

salu2
carlos vargas

ZeRoberto

unread,
Jan 26, 2018, 1:49:34 PM1/26/18
to publicesvfoxpro
1.- Prueba creándole indices
2.- Asegúrate que sea 32bits o 64bits el cliente y el servidor
3.- Fíjate si el trafico de red no esta saturada.

Saludos

LEWIS LOPEZ GOMEZ

unread,
Jan 26, 2018, 2:16:36 PM1/26/18
to publice...@googlegroups.com
Deberías revisar el archivo my.ini si usas Windows o my.cnf si usas linux, y revisar las variables de configuración para la optimizan de las consultas en MySQL.


Cordialmente
Lewis Lopez Gomez
LOPEZSOFT S.A.S NIT: 901091403 - 2
Diseño y desarrollo de Software a la medida
Diseño y desarrollo web y Móvil
Dosquebradas Risaralda Colombia
 310 843 5431
Jesús le dijo: Yo soy el camino, la verdad y la vida; nadie viene al Padre, sino por mí. Juan 14:6

Irwin Rodriguez

unread,
Jan 26, 2018, 2:46:02 PM1/26/18
to publice...@googlegroups.com
Concuerdo con LEWIS, deberias de revisar tu archivo my.ini (suponiendo que el servidor lo controlas o tienes acceso) y tambien los parametros de conexion del conector OBDC (si te conectas por esta via).

Por ejemplo:

my.ini

MAX_ALOWED_PACKET = 8MB (Coloca el que consideres segun los recursos del servidor)


OBDC: (Se suman todos los parametros y se envia el total)


Espero te sirva.

Saludos...!
--
Irwin Rodríguez
Analista Programador

+593 0994903424
Latacunga - Ecuador
"Un equipo solo son piezas que intercambias hasta que terminas el trabajo, es eficiente, funciona."

Gregori Arjona Toledo

unread,
Jan 26, 2018, 2:56:11 PM1/26/18
to Comunidad de Visual Foxpro en Español
Buenos días ,yo tuve un problema similar y lo pude arregar. Prueba a desactivar la resolución de nombres inversa en el.servidor MySQL.

http://www.vionblog.com/skip-name-resolve-to-speed-up-mysql-and-avoid-problems/

Alejandro Garcia G.

unread,
Jan 27, 2018, 11:51:40 AM1/27/18
to Comunidad de Visual Foxpro en Español
Gracias a todos por sus comentarios.

Les comento, hice lo que me comentaron en la primera despueta con EXPLAIN, y sí me daban diferentes entre los servidores, pero no entiendo todavia por que me da diferente si las tablas y sus indices estan iguales, el servidor MySQL es igual, la consulta es igual. La he estado ejecutando desde el Navicat para probbrar la consulta.

Voy prmiero a mirar bien lo otro que me dicen y les comento, si no resuelvo voy a montar imagenes de lo que me sale y como estan configuradas las tablas.

Saludos a todos. 

Juan Pablo Iparraguirre Iparraguirre

unread,
Feb 26, 2018, 8:24:20 AM2/26/18
to Comunidad de Visual Foxpro en Español
Buen dia alejandro, si tienes acceso a la configuracion de tu servidor, agrega la siguiente directiva al my.ini (wind9ws) my.cnf (linux):

en la seccion [mysqld]
skip-name-resolve

Nota: la directiva "max_allowed_packet" sirve para limitar el tamaño de archivo que puedes subir al servidor, y no tiene nada que ver con la velocidad del mismo.

Cualquier duda me avisas.

Saludos....

Alejandro Garcia G.

unread,
Feb 26, 2018, 1:43:41 PM2/26/18
to Comunidad de Visual Foxpro en Español
Juan, gracias por el consejo. Lo pondré en practico en un rato pero te pregunto: ¿solo debo colocar "skip-name-resolve"? ¿sin nada mas?

De todas formas voy a buscar información y cuando tenga respuesta si me funciono les comento.

Gracias por leer mi pregunta y darme tu consejo. Saludos.


Juan Pablo Iparraguirre Iparraguirre

unread,
Feb 26, 2018, 2:35:08 PM2/26/18
to Comunidad de Visual Foxpro en Español
si solo "skip-name-resolve" con ello eliminas la resolucion de DNS; a no ser que tengas un servidor DNS de ser asi tednrias que dar de alta a la zona DNS a tu servidor MYSQL que esta lento. 

Saludos

almonts ( www.ontarioxb.es )

unread,
Feb 26, 2018, 4:14:29 PM2/26/18
to Comunidad de Visual Foxpro en Español
Prueba forzando los índices. Ej:

SELECT * FROM mytabla FORCE INDEX(PRIMARY)

te sorprenderás

Alejandro Garcia G.

unread,
Feb 27, 2018, 8:40:45 AM2/27/18
to Comunidad de Visual Foxpro en Español
¿Saben que es lo raro?.

En ese servidor, en otra instancia tengo otras bases de datos para el mismo programa pero para otras empresas. Cuando hago el mismo proceso, el resultado no genera inconvenientes.

He revisado y comprado estas dos bases de datos y aún cuando la unica diferencia es en la cantidad de registros, por lo demas, todo es igual, la tabla tiene las mismas columnas, los mismos indicies, etc, etc, etc.

No he logrado probrar todavía pues no he podido llegar a es compañia pero entre hoy y mañana me acerco y pruebo tanto con la respuesta dada por Juan Pablo como la recien dada por almonts.

Gracias a todos.

ZeRoberto

unread,
Feb 27, 2018, 11:12:05 AM2/27/18
to publicesvfoxpro
Comprar el My.Ini de ambos

Saludos

mpulla

unread,
Feb 27, 2018, 12:17:10 PM2/27/18
to Comunidad de Visual Foxpro en Español
Hola Alejandro

Puedes tener los mismos indices, pero no la misma data, por lo que el optimizador de MySql puede elejir otro plan para ejecutar la consulta.

Revisa los planes de ejecución de esa consulta en la db que te da problemas.

Saludos.
Mauricio
Reply all
Reply to author
Forward
0 new messages