[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