2010-02-19 24 views
9

Vi la misma pregunta planteada para PostgreSQL here; preguntándome si alguien sabe (a) el sabor de MySQL de la respuesta y (b) qué opciones de MySQL examinaría para determinar/influenciar la respuesta.¿Cómo determino el tamaño máximo de transacción en MySQL?

No necesito una respuesta absoluta por cierto, pero si tuviera que proponer la inserción de, digamos, 200,000 filas de ~ 2Kb cada una, ¿lo consideraría muy sencillo, o empujaría el límite un poco?

Supongamos que MySQL se ejecuta en una caja Linux bien especificada con 4Gb de RAM, cargas de espacio en disco y una instancia ajustada por alguien que generalmente sabe lo que está haciendo.

Saludos

Brian

+1

Encontró un "general sobre el registro de transacciones en MySQL" en el artículo http://www.pythian.com/news/1337/ (no responde a mi pregunta pero fondo interesante) – Brian

Respuesta

13

Para Innodb, el tamaño de la transacción estará limitado por el tamaño del registro de rehacer (ib_logfile *), por lo que si planea realizar transacciones muy grandes, asegúrese de establecer innodb_log_file_size = 256M o más. El inconveniente es que llevará más tiempo recuperarse en caso de falla.

Sin embargo, para el registro de los empleados Innobase que recomiendan mantener transacciones short

+0

se ve perfecto, gracias – Brian

1

No hay límites de transacción construidas dentro de los servidores SQL. El límite es el hardware que lo ejecuta, la memoria física RAM, espacio libre en el disco duro.

Gestionamos con éxito las importaciones de millones de datos.

+1

Hola, gracias por la respuesta rápida. ¿Estás seguro? La razón que pedí inicialmente es que trabajé en plataformas Sybase "empresariales" antes de que las operaciones grandes (cientos de miles de declaraciones) llenaran el registro de transacciones y evitaran nuevas escrituras de DB hasta que obtuviéramos los DBA para rectificar la situación. Mi instinto es que hay un archivo de registro de transacciones MySQL/configuración de memoria en algún lugar que de hecho puede ser muy grande, pero que sin embargo es de tamaño finito ...? – Brian

+1

Supongo que esta respuesta es incorrecta. Al menos para ORACLE, existen limitaciones en el tamaño de la transacción, y parece que InnoDB también tiene limitaciones. – hgoebl

Cuestiones relacionadas