Foros del Web » Programación para mayores de 30 ;) » Bases de Datos General » PostgreSQL »

[SOLUCIONADO] Insert en PostgreSQL empleando Criteria es super lento

Estas en el tema de Insert en PostgreSQL empleando Criteria es super lento en el foro de PostgreSQL en Foros del Web. Hola, Estoy leyendo un archivo de texto grande con Java. El archivo tiene 5.000.000 de filas y cada uno tiene 3 columnas. El tamaño del ...
  #1 (permalink)  
Antiguo 31/05/2013, 01:18
 
Fecha de Ingreso: abril-2008
Ubicación: Frente a mi máquina que suele estar en ... Cartagena-España
Mensajes: 106
Antigüedad: 16 años, 7 meses
Puntos: 8
Insert en PostgreSQL empleando Criteria es super lento

Hola,

Estoy leyendo un archivo de texto grande con Java. El archivo tiene 5.000.000 de filas y cada uno tiene 3 columnas. El tamaño del archivo es de 350 MB. Para cada fila, lo leo, creo un objeto utilizando Criteria de Maven y la almaceno en una base de datos PostgreSQL con el comando Session.saveOrUpdate (objeto).

En la base de datos tengo una tabla con un ID de serie y tres atributos donde almaceno las tres columnas del archivo.

Al principio, el proceso se ejecutaba de forma "rápida" (35.000 registros en 30 minutos) pero cada vez es más lento y el tiempo para terminar de crecer de forma exponencial. ¿Cómo puedo mejorar el proceso?

He tratado de dividir el archivo grande en varios archivos más pequeños, pero es casi más lento.

Muchas gracias de antemano!
__________________
Si te ayudó, que no te cueste dar +1!
http://www.josealopezpastor.com
@josealopezpasto
  #2 (permalink)  
Antiguo 31/05/2013, 08:02
Avatar de huesos52
Colaborador
 
Fecha de Ingreso: febrero-2009
Ubicación: Manizales - Colombia
Mensajes: 5.980
Antigüedad: 15 años, 9 meses
Puntos: 360
Respuesta: Insert en PostgreSQL empleando Criteria es super lento

Pero el problema no estará en java?

Un insert para un motor de bases de datos es una operación bastante rapida.

Te recomiendo que preguntes en el foro de java una posible optimización de este proceso.

saludos
__________________
Without data, You are another person with an opinion.
W. Edwads Deming
  #3 (permalink)  
Antiguo 03/06/2013, 01:11
 
Fecha de Ingreso: abril-2008
Ubicación: Frente a mi máquina que suele estar en ... Cartagena-España
Mensajes: 106
Antigüedad: 16 años, 7 meses
Puntos: 8
Respuesta: Insert en PostgreSQL empleando Criteria es super lento

Cita:
Iniciado por huesos52 Ver Mensaje
Pero el problema no estará en java?

Un insert para un motor de bases de datos es una operación bastante rapida.

Te recomiendo que preguntes en el foro de java una posible optimización de este proceso.

saludos
Muchas gracias por la respuesta huesos52, pero tras investigar un poco más hemos encontrado que el problema estaba en PostgreSQL. El comando COPY te permite leer de un fichero con las columnas separadas por ",",";" o cualquier otro caracter e introducirlo en base de datos de forma rapidísima por lo que solucionamos todos nuestros problemas.

Saludos
__________________
Si te ayudó, que no te cueste dar +1!
http://www.josealopezpastor.com
@josealopezpasto

Etiquetas: criteria, java, maven, rendimiento
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 21:17.