Lentitud con Access vinculado a Mysql

Le comento, tengo una base de datos de 48 tablas vinculadas en access 2010.

La he separado en tablas y objetos, y las tablas las he migrado a mysql en un servidor.

Vinculo access al mysql con mysql connector, todo perfecto, me abre la base de datos. (Las importe en Innodb y las relacioné)

Una de las tablas es una ficha de visitas de clientes, vinculada a una tabla de clientes.

( id_ficha, id_cliente, fecha_visita...etc).

Tengo un formulario donde mediante una consulta hago que aparezcan el id_ficha (tabla ficha_visita) y el nombre del cliente (tabla clientes).

El problema me viene al abrir la base de datos que se enlentece mucho, y si quiero hacer una búsqueda en esta consulta (tabla ficha_visita = 1500 registros y tabla clientes =19000 registros) se me cuelga access o tarda una eternidad ( 5 o 10 minutos).

No se si es al hacer la búsqueda en tablas relacionadas o lo que sea. Pero es increíble lo que tarda y no se a que se debe.

Me gustaría al menos una idea de que que se debe y yo seguir investigando para ir aprendiendo.

1 respuesta

Respuesta
1

Consulta 1, ¿ha indicado los indices en MySQL para los campos que deben ser indices?.

Consulta 2: ¿El Motor de Bases de Datos MYSQL esta en el mismo equipo de Access o en otro equipo en la red o internet?

Consulta 3: ¿Sabe utilizar procedimientos almacenados?

Para poder resolver su problema partamos por estas tres consultas.

Saludos y espero sus comentarios.

Recuerde que puede obtener soporte en vivo en nuestro sitio web www.solucioninformatica.cl.

Atentamente. Miguel Ángel Sandoval.

muchísimas gracias por la rapidez, Miguel Angel.

1 he creado indice en el campo vinculado (Id_cliente) , en el resto no, por no abusar de indices.

2 está en internet en un servidor

3 Esto empezando y no se mucho de Mysql.

gracias de nuevo.

Ya mi estimado, se cual es su problemática, y son las tablas vinculadas, debido a que cuando vinculas las una tabla traes todos los registros de esa tabla a través de la conexión, cada vez que realizas una consulta, traes todos los registros, en este caso ambas tablas y 19.000 registros no dejan de ser. Luego Access realiza la consulta de forma local.

Para dar solución a tu problema esto se hace a través de procedimientos almacenados, donde solo envías parámetros como Id_Cliente y el servidor solo te devuelve como respuesta el registro que necesitas y no todos los registros de la tabla.

Si no sabes trabajar con procedimientos almacenados no desesperes porque esta es la parte buena, ya que puedo enseñarte, si ya sabes programar consultas SQL ya tienes el 90% de todo. Por lo que si deseas aprender puedes solicitar asistencia a [email protected] el Valor por hora del Soporte en vivo es de 14 Dolares/Hora. Para aprender procedimientos alamecenados necesitarás al menos de unos 2 a 3 horas de soporte. Por lo que si deseas aprender ya sabes donde contactarme.

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas