Agilizar AdminPro lento por exceso de registros

carpeta data en mysql server

Algunas veces las bases de datos que utilizamos en nuestro AdminPro son muy Robustas, por lo que con el tiempo van volviéndose mas lentas por el exceso de registros que podamos tener.
El siguiente es un método para poder crear un respaldo e iniciar de cero sin perder los datos anteriores; para ello necesitaremos de Navicat, un programa para administrar bases de datos en MYSQL que se instala junto al AdminPro

Por lo cual el primer paso es cerrar completamente el AdminPro

entramos a la carpeta data de MySQL (C:Program Files (x86)MySQLMySQL Server 5.0data) donde encontraremos nuestra base de datos de AdminPro, a la que copiaremos y pegaremos ahí mismo, y a la nueva carpeta le pondremos un nombre para ubicarla, en éste ejemplo el nombre será admin17122014 en referencia a que se creo el 17 de diciembre del 2014

 
ya en navicat tenemos la copia y la base que usamos en adminpro

Acto seguido debemos abrir el Navicat, donde nos daremos cuenta de que la copia que hicimos y la base que usamos están ya en el sistema; en el AdminPro la base que usamos sería la original de la que desglosamos una copia, en este caso admin_6_2; como ya tenemos respaldada la base, admin_6_2 será la base que modificaremos

tablas a modificar en navicat dentro de nuestra base de datos

vamos a elegir una fecha como referencia para realizar el borrado de la nueva información, recomendamos por lo menos un par de semanas para no interferir con actividades pendientes como cortes de mes; las tablas que modificaremos serán las siguientes:
Cobro
Documentodescripcion
Documentoventa
Registrodeactividad

registro por fecha en tabla cobro dentro de la base de adminpro

para los 3 primeros (cobro, documentodescripcion, documentoventa), entramos a dichas tablas (se realiza ejemplo con la de cobro)
lo que haremos es buscar el primer registro con la fecha que elegimos como referencia y anotar su número de la primera columna junto con el nombre de la columna, en este caso el nombre de la columna es No y el número de registro es 1122
Ya que tenemos estos datos, abrimos la consola con un click derecho en la base de datos que estamos modificando (la actual, elegir ‘Console’)

abrir consola dentro de una base de datos en navicat
Dentro de la consola vamos a escribir:
delete from cobro were No <= 1122;
los datos en azul podrian cambiar dependiendo la tabla a modificar (tabla a modificar, nombre de columna donde esta el número del registro y número del registro)
Cabe destacar que haremos lo mismo para las tablas documentodescripcion y documentoventa, modificando los valores según los otorgados por la tabla; en caso de documentodescripción la instrucción en la consola sería asi:delete from documentodescripcion were Numero <= 17864;
registro por fecha en tabla documentodescripcion dentro de la base de adminpro

Por último borraremos todo aquel registro de actividad, ya que esos datos no se utilizan en la base de datos y también hacen que la base sea robusta, esto se logra con la siguiente instrucción:

instruccion de consola para eliminar el registro de actividad por completo

Optimizar registros conservando cuentas por cobrar

A continuación se describen las instrucciones utilizadas en Mega LV para optimizar la BD sin eliminar las cuentas por cobrar

mysql> delete from cobro WHERE NO < 100473;
Query OK, 100022 rows affected


mysql> delete from documentoventa WHERE No_documento < 100071 AND Saldo_documento <= 0;
Query OK, 99907 rows affected


mysql> update documentodescripcion AS dd INNER JOIN documentoventa AS dv ON dd.Folio=dv.Folio_documento AND dd.Documento=dv.Nombre_documento AND Saldo_documento > 0 SET verificados = 1;
Query OK, 910 rows affected
Rows matched: 920 Changed: 910 Warnings: 0


mysql> delete from documentodescripcion WHERE Numero < 346081 AND verificados=0;
Query OK, 339829 rows affected


mysql> delete from registroactividad;
Query OK, 3348 rows affected


mysql>

Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *