Hola.
Yo creo que la idea sería un archivo de datos cualquiera con cuatro o cinco tablas de información relacionada. Puede tratar de cualquier cosa, ya que lo interesante no es el contenido sino como volcarlo en la base de datos en el menor tiempo posible. Para que sea más interesante, una vez tengamos algún archivo de datos, decidimos la estructura donde volcarla (para que sea la misma para todo el mundo) y le añadimos algunas trampas con las que se pueda jugar un poco durante la importación (básicamente estoy pensando en índices y triggers).
¿ Alguien sabe de algún archivo de datos públicos de fácil descarga y que podamos utilizar ? (puede ser cualquier cosa, una base de datos de códigos postales, de sucursales bancarias, un catálogo de productos, etc. ...).
Para poder compararlos, el programa debería poder funcionar atacando un archivo ORIGEN.XML que se encuentre en la misma carpeta del ejecutable, y volcar los datos en la estructura que habremos predefinido en RESULTADO.FDB, que se encontrará también en la misma carpeta. Sin necesidad de configurar nada, ni intervención del usuario. Todos utilizaremos la misma versión de Firebird (Firebird 1.5, 2.0 o 2.1), para que el resultado sea equiparable (en cambio se puede usar cualquier versión de Delphi y de componentes de acceso a datos, aquí hay total libertad sobre como ejecutar ese proceso). El mismo programa debería decirnos el tiempo que ha tardado el proceso, es decir debería tomar la hora al arrancar y decir la diferencia al terminar (no vale hacer trampas y empezar a contar después de haber abierto las conexiones o parar el contador antes de finalizar las transacciones, etc. ...).
Cuando vayamos terminando nuestros programas de importación, vamos subiendo su código fuente y su ejecutable, para que los podamos probar todos en la misma máquina y saber quien es el ganador (ya aviso de que pienso utilizar todos los trucos del manual y algunos de cosecha propia para conseguir el volcado más rápido de todos
, vais a sudar si queréis ganarme en esto
).
NOTA: ¿ Creéis que a medida que se suben códigos fuentes y ejecutables, ya deberían estar visibles para todos ?, creo que es dar demasiada ventaja a quienes se esperen más para sacar sus propuestas (especialmente si pueden ver los otros códigos fuentes y coger lo mejor de cada uno).