Primero carga toda la tabla dbf en una tabla(X1) de postgres sin restricciones, luego haces las validaciones al pasar a la tabla (de postgres) que necesitas la información de la tabla X1 (de postgres)
MK
Hola MVilchez.
Como ya te dijo Extremo, puede ser problema de índices.
Pero en todo caso estás haciendo 2 a 3 envíos al servidor por registro, en mi
caso haría una función para que elimine e inserte.
Hago así
Delete from mitabla where id = miid
Insert Into mitabla
Values
(miid)
No conozco mucho de PostgreSql, pero tienes que tener cuidado con la desfragmentación
de índices.
También puedes plantearte trabajar en una tabla auxiliar en PostgreSql y cuando
esté listo haces update entre las 2 tablas que es mucho mejor y vas a ver que
pasas de minutos a un par de segundos.
Hola MVilchez.
Esos problemas que tienes no tienen nada que ver con PostgreSQL y si con la configuración que usas o el escenario que tienes montado, este es un SGBD bastante maduro que ha superado todo eso y para garantizar lo que dices debes considerar varios factores tales como:
· Están indexadas correctamente las tablas por todos los campos que realizar búsqueda o todos los campos que mantienes llaves extranjeras o foráneas (relaciones)?
· Cuando hablamos de procesamiento de tantos registros juntos lo recomendable es trabajar en el servidor con una función o procedimiento almacenado en Postgres, ni siquiera colocar la aplicación en el servidor, la transferencia de tal volumen entre el sistema App y el servidor es un proceso muy costoso y puede ralentizar el proceso por el uso de memoria que hace. Recuerda que cada petición al servidor PostgreSqL por defecto es considerada una transacción con los costes adicionales que lleva si se incrementa el número de registros procesados proporcional será el consumo de recursos utilizados ya sea de disco rígido o memoria. Una vez cerrada la transacción todos los recursos se liberaran.
· Otro punto, velocidad de la rede o la carga a que está sometida. El hecho de realizar la petición y procesamiento on-line de este volumen de registro es complejo también puede ser lento.
Usar 200,000 registros para PostgreSQL es como pestañar ten la certeza de eso. Yo uso tablas de millones y eso no es questionable…
Saudos,
Alfonso