Demora en conexión con mysql desde un Servidor Web

Estoy realizando un mantenimiento de productos con Mysql y vfp, mi form esta diseñado con un grid en el cual de inicio muestra los datos de dicha tabla Productos. Según indican no se debe mostrar la información por que se vuelve lento y es verdad en mi caso demora como 5 seg. Para visualizar la información, ademas cada vez que Añado, Modifico, Elimino un determinado producto al volver a cargar el grid se vuelve a demorar y esto, lo hago para que la tabla que devuelve mysql al hacer un SQLEXEC(con, xconsulta, tmp1)

El grid este actualizado. Como puedo cambiar el diseño de este mantenimiento para que sea algo mas rapido o como seria la forma correcta, si tendrías algún código de ayuda por favor se agradecería bastante y así poder continuar con todo esto de la programación con Mysql y vfp.

1 respuesta

Respuesta
1

Primero hay que analizar cual sea el problema. Muchas veces el problema no está en la base de datos si no en la aplicación ya que esta demora en proceswar la información a la base de datos, demora en establecer la conexión al motor, la misma consulta que puede estar realizando el sistema al modificar los contenidos en pantalla puede estar haciendo lento el procesamiento entre otros otros factores.

Lo primero que hay que hacer es identificar de donde se produce la lentitud. Para esto te recomiendo ver la posibilidad que ingreses a la base de datos y revises la velocidad de respuesta de la consola de mysql (si demora en conectar y si demora lo mismo en entregarte la misma cantidad de registros que pides en la aplicación) ya que esto demostrará de que las acciones a realizar tienen que ver con optimizar la aplicación la base de datos o alguna de las tablas relacionadas con la consulta.

Buenas Tardes experto, gracias por su respuesta según lo que ud. indica de revisar en la consola de Mysql y verificar la verdad no se como hacerlo, ya que todo esto esta en un servidor web ( Internet ) y lo único que realizo es Conectarme Remotamente a Mysql y así poder tener acceso a las tablas. Pero a nivel local ( localhost ) es rapido no demora.

Lo que si he realizado desde la aplicación el conextarme demora 3 minutos y el pedido de datos igual 3 min.

Ahora lo que indico es que MUESTRO toda la información de mi tabla 2965 registros este pedido es lo que demora, es correcto de mostrar toda la información, o cambio el diseño de mis pedidos de datos osea NO mostrar el grid y de inicio mostrar el form de ingreso de datos, seria algo mas rapido. y hacer un form de búsqueda para poder modificar cualquier producto existente.

mi pedido también era si tendría un diseño para poder tener una guía.

agradezco su respuesta.

perdón una equivocación al decir localhost la verdad es en una pc instalando el mysql donde allí tengo mi bases de datos

Tal cual me dices, tu versión de base de datos "local" es rápida, pero la remota está demorando en conectarse y en generar la información.

Trata de conectarte a esa base de datos, hay que aplicar algún tipo de mantención y analizar las consultas que se están realizando.

Haz lo siguiente.

Si usas windows descarga un programa llamado "toad for mysql" o desde el sitio de oracle el programa mysql workbench en su última versión. Con los datos de conexión de tu aplicación, conéctate de manera remota a tu base de datos y verifica la velocidad con ese programa.

Si notas que de igual forma responde lenta la base de datos, habrá que verificar la consulta y las tablas con las que trabajas.

Espero que con estos datos podamos ya especificar una solución.

hola Experto disculpa la demora de mi respuesta, he tenido algunos problemas de salud lo cual me ha impedido hacer la respuesta.

he estado revisando mis tablas de mi BD tengo 2 tablas una llamada artículos y la otra laboratorios. están relacionadas de padre a hijo he podido apreciar que en la tabla padre laboratorios tengo 2 campos id y nombre. En el Atributo nombre he podido apreciar que hay datos que se repieten por ejemplo perfumería 2 veces y otro farmapasa esto hace que quizas sea lenta la consulta. y si es así debería eliminar dichos datos errados

ahora si bien es cierto que el campo id es una atributo que NO debe repetirse y ademas es un atributo Primary key, en le atributo nombre debería validar el ingreos de datos para que no se repitan dicho nombre.

gracias por su respuesta Experto

En este caso tienes que validar tu modelo de datos, si no te sirve que tengas información duplicada tu modelo de datos se verá mermado cuando intentes hacer una consulta simple (por ejemplo cuando desees buscar el registro nombre "perfumería" no sabrás cual de los dos utilizar.

Primero limpia tu tabla. Posterior valida que id sea primary key y que nombre sea unique (lo puedes hacer desde mysql) y ya con eso puedes empezar a verificar si las consultas que realizas sobre esas tablas responden a una velocidad respetable.

HOLA AMIGO EXPERTO HE REALIZADO TODO LO QUE ME INDICO, Y GRACIAS YA QUE HE PODIDO APRENDER ALGO MAS . Y HE LIMPIADO LAS 2 TABLAS EN CERO AHORA LA DEMORA ES DE 1 MIN. Y ALGO MAS, PERO CREO QUE VA BIEN. AHORA UD. CREE QUE SI VA AUMENTANDO LA INFORMACIÓN EN ESTA TABLA DE ARTÍCULOS COMO POR EJEMPLO UNOS 4000 A 5000 REGISTROS CRECERÁ EL TIEMPO DE DEMORA YA QUE AL MOMENTO DE APRECIAR EL GRID MUESTRO TODA LA INFORMACIÓN.

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas