Como puedo optimizar una base de datos con 17 millones de registros de venta

Tengo una Base de datos en Access con 8 columnas y 17 millones de registros, ya llegue a los 2,0 GB de limite que tiene Access, como la puedo optimizar o que podria hacer para que pueda seguir usando este software, entiendo que ya me esté quedando corto pero, no puedo cambiar de plataforma.

3 Respuestas

Respuesta
1

Entre el 2006 y el día de hoy, es la tercera vez que veo una BD de Access que pasa los 15 millones de registros, e imaginando que son 17 millones de ventas a "solo" un eruro por venta, creo que te pediré una donación ja ja ja.

Asumo que no tienes campos OLE, así que el consejo de elimnarlo estaría de más. Ya Icue te dijo lo de compactar y repartir/dividir así que quizá me queda sugerir que los registros más antiguos, y que quizá ya nunca consultas/usa, podrías pasarlos a otra BD y vincularla con tu "principal". Suponiendo que la mitad (8.5 millones de registros) cumplen esa condición, pues imagínate cuanto espacio recuperarás.

Abraham Valencia

PD: Lo otro es migrar a alguna versión de SQL Server (o MySQL)

Respuesta
2

Si te tuviera que aconsejar te diría que primero prueba a compactarla y después lo más sencillo es poner tablas en otra base y trabajar en la base en la que tengas los formularios etc, pero con tablas vinculadas. Así "repartes" el tamaño.

De todas formas, permíteme que te felicite, ya quisieran muchas empresas tener 17 millones de ventas.

Gracias por tu respuesta y tus consejos.

De hecho así ya la estoy trabajando. partida en dos una de Ventas y la otra con las consultas y los catalogos.

Es una base de un cliente que vende en Cadenas de autoservicio por lo que ese numero es muy grande es porque las ventas son semanales y el catalogo es muy muy grande.

Alguna otra sugerencia?

Supongo, no lo sé, que no necesitarás estar usando todos los registros. Por eso, te diría que pases a una(s) tabla(s) externa(s) aquellos que no vayas a necesitar "de momento", que para "llamarlo" desde el código de VB siempre estás a tiempo. Por ejemplo, supongamos que desde un formulario quisieras ver las ventas del 2016. Siempre podrías poner algo como

form.recordsource="select * from.....

Respuesta

Poner un parche no te servirá por mucho tiempo... necesitas cambiar de base de datos.

¿Por qué dices que no puedes?... una tabla en mysql la creas en 10 minutos, un importador, algo más depende de la complejidad de la tabla, pero en dos horas puedes tenerlo listo. Mover los datos llevara tiempo, pero una vez terminado, tendrás algo que no te dará más problemas en mucho tiempo.

El tema por el cual no "puedo" son dos, uno es presupuesto y el otro es que no conozco MySql, por lo que me dices que en 10 minutos queda mi tabla y que hay otras ventajas entonces tendría que invertir en licencias y/o capacitación.

En cuanto crees que pueda aprender lo básico de MySql? me urge la base.

Gracias

Mysql es gratis no hay que pagar licencias. Aprender lo básico en dos tardes, miras un par de videos de youtube y listo... es muy muy sencillo, luego se pueden hacer cosas complejas pero hacer una tabla como la que tienes ya, eso es muy fácil.

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas