[Pgsql-ayuda] Insertar datos desde C

Mauro Morales mmorales@tvninteractivo.cl
31 Jul 2003 18:32:47 -0400


El jue, 31 de 07 de 2003 a las 18:08, Alex Nu escribiĆ³:
>  Uy, no se que significa exactamente serializar,
>  pero mi problema es:
> 
>  Tengo en C/C++,
>  un arreglo con ~ 300,000 elementos
>  
>  Cual seria la forma mas eficiente, para insertar
>  ese arreglo en una tabla ???

Yo combinaria las siguientes soluciones.

Crearia una funcion hash que me creara una tabla hash (matriz[x,y]) con
elementos de tu vector.
Esos elementos los serializaria de forma de crear un string.
Guardas el string en la BD! :-)

Una consulta, tu vector es unidemensional o matricial ?.

Si es unidimensional, quizas no seria mala idea que tu tabla hash fuera
matriz (x,y), y fueras guardando de una dimension (x o y).

O bien, si quieres tener menor cantidad de elements en los vectores,
entonces que sea tridimensional (x,y,z). UFF! No se si eso sea
manejable! :-).

Saludos.

PS: Siempre deben haber mejores soluciones, quizas con algun buffer en
algun archivo plano.

NOTA: _INSISTO_ revisa el comando COPY en postgresql.

Con ese comando puedes hacer que los elemntos a almacenar en la base de
datos solo sean sentencias insert creadas en el archivo plano y luego
pasas ese archivo a traves del comando antes seƱalado. Es muchisim mas
rapido.

-- 
Mauro Morales <mmorales@tvninteractivo.cl>
Television Nacional de Chile