[CentOS-es] OFF Topic: MySQL
Camilo Sperberg
unreal4u en gmail.com
Vie Dic 13 22:08:25 UTC 2013
On 13 dec. 2013, at 19:28, David González Romero <dgrvedado at gmail.com> wrote:
> Hace tiempo tengo una duda que quiero compartir con Uds. Si bien he leido
> mucho sobre Innodb y MyISAM me gustaría tener un abierto por provado con
> alguien que pueda aclararme algunas cuestiones.
>
> Pero básicamente me da un ejemplo.
>
> En mi anterior empleo me toco trabajar con BD de grandes volumenes de
> texto. Más que otra cosa recuperación de textos con select y demás.
> Basicamente usaba MyISAM, pero en ocasiones me tocaba migrar BD de Postgree
> a MySQL; proceso que hacia bien, pero a la hora de importar al MySQL en la
> creación de la tablas se hacian por defecto en InnoDB y la importación de
> los registros se hacia excesivamente lenta. Valía la pena separar los
> precesos, crear las tablas, cambiarlas a Engine MyISAM y entonces empezar
> la migración con un sencillo:
> mysql -u root -p name_db < archivo_origen.sql
>
> Hablamos que archivo_origen.sql pesaba unos 9Gb, si como lo escuchan NUEVE
> GIGAS.
>
> Con el Engine MyISAM este proceso podría demorar unos 40min máximo, si el
> Engine se me quedaba en InnoDB de un día para otro no se había completado
> el proceso.
>
> Alguna explicación lógica al respecto?
>
> Saludos,
> David
> _______________________________________________
> CentOS-es mailing list
> CentOS-es at centos.org
> http://lists.centos.org/mailman/listinfo/centos-es
Ufff muchas...
El 95% de la velocidad de InnoDB se ajusta mediante configuración, estableciendo valores que regulan hasta los detalles más mínimos.
Por el otro lado, depende mucho tb de cómo importes los datos y de qué tan grandes sean los distintos buffers. Así a la rápida, se me ocurren por lo bajo 5 settings que tienen que ver con esto, pero deben haber alrededor de unos 25 settings relacionados con buffers y tamaños de índices en InnoDB.
Así que como respuesta a tu pregunta: es un tema sumamente complejo que depende de muchas variables, pero un buen punto de partida para tener más información acerca de qué es lo que está pasando es ocupar la sentencia "show processlist" que te mostrará qué está haciendo cada una de las conexiones establecidas en ese momento, así que para una buena impresión prepárate a ejecutar esa query un buen número de veces para que puedas averiguar bien.
Sent from my iPhone 6 Beta [Confidential use only]
Más información sobre la lista de distribución CentOS-es