PDA

Ver la Versión Completa : Limite de registro por tabla en MySQL.?


JCarlosas
25-04-2006, 21:45:58
Hola a todos.
Tengo el siguiente problema. Estoy usando una BD MySQL 5 y Delphi 2006.
Y para conectarme uso los componentes de ZeosLib.
Me esta sucediendo que cuando he insertado un aproximado de 35 000 registros en una de las tablas no me inserta nada mas. Mi programa se duerme indefinidamente tratando de insertar registros pero no lo logra. Sin embargo si paralelamente a mi programa voy borrandole registros a dicha tabla desde una consola de MySQL, mi programa los "Inserta todos". Digo "inserta todos" porque mi programa se cree que lo inserto todo, pero yo le fui borrando los registros por detras a la tabla para que el terminara.
O sea que por alguna razon MySQL no me esta permitiendo insertar mas alla de los 35 mil registro en una tabla.
La tabla es de tipo MyISAM

Existe algun limite de registros por tablas en MySQL???
Me puede estar ocurriendo alguna otra cosa extraña que no me permite insertar mas alla de los 35 000 (35 mil) registros???
Gracias de antemano.

dec
25-04-2006, 22:10:15
Hola,

Hasta donde yo llego no debe tratarse de ninguna limitación de MySQL en este caso. Se me ocurre que proporcionaras aquí la estructura de la tabla en cuestión, por si a partir de ahí a alguien pudiera ocurrírsele alguna posible causa del problema que encuentras.

JCarlosas
25-04-2006, 22:18:48
Ok, Gracias.
Reformulo mi problema despues de analisis mas detallado.
No es que deja de insertar sino que se vuelve extremadamente lento.
Intentando insertar unas 48 000 registros despues de una hora tuve que tumbar el proceso pues no habia terminado.
Sin embargo borrandole por detras los registros que el iba insertando (como describi al inicio) se demora solamente 6 minutos.

Para que se tenga una mejor idea, la velocidad de insercion al inicio esta por encima de 250 registros por segundos, sin embargo cuando ya se han insertado unos 32000 registros en la tabla la velocidad de insercion cae por debajo de 5 registro por segundo.
Ah, y estoy usando un P-IV a 2.6Giga y 512 MB de Ram

-----------------------------
Bueno finalmente encotre la causa del problema.
Dentro de mi procedimiento de insercion cada cierto tiempo y bajo determinadas condiciones realizaba una actualizacion de otro campo. Dicho campo no lo tenia indexado y segun se iba llenando la BD se hacia mucho mas lento el update.
Es increble lo que puede hacer la falta de un indice.

David muchas gracias por tu comentario pues me sirvio para buscar por otra parte y no achacarle toda la culpa a MySql

Emilio
26-04-2006, 14:50:22
Tal vez te interese hacer uso del comando "flush tables"

JCarlosas
26-04-2006, 15:13:40
OK,
Gracias lo tendre en cuenta para el futuro,
Pero despues que inserte el nuevo indice ya el tiempo que demora la insercion esta dentro de los limites esperados. Por otro lado estoy usando ZeosLib con el objetivo de usar tambien postgresql u otro gestor de BD y me parece (No estoy seguro) que ese comando posiblemente sea tipico de MySQL y no de otros gestores de BD.
Muchas gracias de todas formas.
Saludos a todos.
Juan Carlos