Comprimir tabla MySQL (MyISAM)

Iniciado por Skeletron, 29 Marzo 2010, 05:17 AM

0 Miembros y 1 Visitante están viendo este tema.

Skeletron

Hola gente!!...
Se me presenta el problema de tener muy poco espacio en la base de datos.

Tegno 2 o 3 tablas que JAMAS borraré algun registro, pero SI agregaré, leeré y modificaré...
Es posible comprimirlas? Con que comando?

Shell Root

Por eso no duermo, por si tras mi ventana hay un cuervo. Cuelgo de hilos sueltos sabiendo que hay veneno en el aire.

Nakp

talvez esto te sirve :)

http://dev.mysql.com/doc/refman/5.1/en/archive-storage-engine.html

pero no puedes usar indices, en cambio con una tabla comprimida como tal, no puedes insertar ni actualizar
Ojo por ojo, y el mundo acabará ciego.

Skeletron

Cita de: Nakp en 29 Marzo 2010, 07:10 AM
talvez esto te sirve :)

http://dev.mysql.com/doc/refman/5.1/en/archive-storage-engine.html

pero no puedes usar indices, en cambio con una tabla comprimida como tal, no puedes insertar ni actualizar

Mala pata..
Sigamos que solamente la tabla de Paises y Regiones puede estar comprimida...
Disminuye mucho el rendimiento (en velocidad de respuesta)?

Nakp

pues... no se utiliza el cache de la base de datos, asi que cada peticion (select) es una consulta que se ejecuta en el servidor y escanea la tabla por completo, asi que en tiempo de respuesta creo que tardaria bastante mas :-\ prueba haciendo benchmarking en local siguiendo el articulo de tifa, dependiendo del tamaño de tu proyecto pueden significar nada o mucho unas centesimas de segundos, que seria la diferencia entre una configuracion y la otra
Ojo por ojo, y el mundo acabará ciego.

Skeletron

Pues, generalmente, en estas ocasiones, lo mejor es agrandar el pack de espacio para MySQL en el server, yy por unos pesos, terminar con el problema.. jejej

^Tifa^

Te diria que utilizes myisampack pero como ya te dijeron no podras insertar, actualizar, eliminar esos registros de esas tablas  :laugh:  al menos que hagas un rejuego del tema (si sabes que no insertas y actualizas o borras mucho) antes de dar uso del myisampack haces un backup logico (un Dumpeo de las tablas con mysqldump) lo mantienes guardado el archivito *.sql luego pasas myisampack sobre las tablas para que compriman y ya cuando vayas a actualizar, eliminar o insertar... tendras que eliminar las tablas y montar el backup que hiciste con el Dump, ahi modificas o eliminas o insertas lo que ibas a hacer y ya hecho, vuelves a hacer un backup (para tener los ultimos datos) y luego a comprimir con myisampack y se repite el proceso  ;)  una tarea un poco trabajosa si... pero puede hacerse y manejarse a traves de scripts para que sean mas faciles.

SObre el motor Archive, tiene esos inconvenientes (no utiliza indices  :-(  y solo puedes insertar ) muy eficiente para datawarehouse  :xD  ocupa 65% menos espacio que el tipico Myisam y al menos 75% menos espacio que el  transaccional InnoDB  ;)  Puedes considerar la idea anterior, o como bien dices agrandar el espacio para MySQL o hacerle una particion unica para la metadata de MySQL

Saluditos  :-*

Skeletron

Todo un tema ésto de las bases de datos.. jejeje..

Ojala no viviese en Argentina, y vivir en algu lugar donde un Servidor no te cueste un salario

^Tifa^

Jajajaja y eso que hablamos de MySQL... deja que un dia conozcas a Oracle, ahi veras que temazo mas extenso en conocer.. MySQL es relativamente pequeno delante de ese monstruo. (Y no solo en consumo de memoria o tamanio de la aplicacion).

Donde suelen ser mas baratos los aparatos tecnologicos es en Estados Unidos me consta, sobretodo cuando Dell hace ofertas de liquidacion y te envia cupones de rebaja de hasta 70% de descuento al precio original  :rolleyes:  y las subastas callejeras tambien se consiguen electrodomesticos con precios sumamente por debajo de lo que costaba... pero en finnnn.

Puedes optar por hacer lo que te dije anteriormente, o puedes optar por buscarte un disco duro externo (comprarlo) y tener exclusivamente MySQL alli, yo solo te hablo de herramientas que vienen ya junto con el paquete (DBMS) de MySQL. Si existe de antemano otra herramienta aunque sea de terceros, que comprima en espacio los esquemas del motor, y aun asi te permita modificar y seguir insertando registros... yo particularmente lo desconozco.

Tienes las opciones previamente aconsejadas, o tienes la opcion de comprar un disco duro externo y guardar el directorio principal de MySQL alli.