El 21 de julio de 2014, 15:06, Manuel A. Estevez Fernandez<stvz...@gmail.com > escribió:
> Gracias por tus comentarios Anthony, > > Para mi mala fortuna no tengo manera de identificar los datos nuevos, > debido a que se actualizan y borran registros de cualquier periodo dentro > de la base de datos. > Respecto a los indices, tengo identificados los campos y expresiones que > necesito mi pregunta va enfocada a lo siguiente: > > ¿Que es más óptimo? > > Proceso 1 : > -Creo tabla. > -Cargo datos > -Genero indices > > o > Proceso 2: > -Trunco tabla con los indices ya creados. > - borrar indices > -Cargo Datos > - crear nuevamente los indices Si lo haces en forma nocturna sin usuarios la otra opción es que cargues los datos en una temporal, y hagas la comparación , y cargues en la tabla original solo las modificaciones... dependiendo de cuantos registros nuevos se actualicen, no sería necesario borrar y crear indices, y/o truncar la tabla original. De todas formas son cosas que tienes que probar que es lo que resulta mas eficiente. > Saludos. > > > by: > > ISC. Manuel Alejandro Estévez Fernández > > > > El 20 de julio de 2014, 13:22, Anthony Rafael Sotolongo León < > asotolo...@uci.cu> escribió: > > Hola Manuel, yo he cargado datos similar a como lo estás haciendo pero sin >> el truncate pues solo cargaba los datos nuevos, en la exportación que >> realizaba a CSV desde otro sistema, solo exportaba los nuevos, y así me >> evitaba el truncate y la carga de todos nuevamente y me funcionó bien (no >> se si tu negocio permita hacer eso), el FREEZE tengo entendido que es para >> que congele los datos que cargas, es decir que les asigne un ID de >> transacción antiguo(), lo de los índices los debes establecer con los >> atributos que se sean necesarios, los cuales no sabemos cuales son, puedes >> identificarlos en tus consultas. >> >> saludos >> >> >> El 7/17/2014 9:39 PM, Manuel A. Estevez Fernandez escribió: >> >> Buenas noches >>> >>> Saludos a todos. >>> >>> Actualmente estamos implementando un sistema, donde vamos a realizar una >>> rutina de manera diaria que cargará toda la información de una base de >>> datos (?) almacenada en dbfs, los cuales se extraen en archivos de texto y >>> son cargados mediante un batch con sentencias : >>> >>> truncate table >>> -c "\copy tabla from etc etc " >>> >>> Posteriormente se realizan algunas consultas para "limpiar la >>> información" en el esquema de producción. >>> >>> Espero puedan ayudarme a esclarecer algunas de mis dudas: >>> >>> 1.- ¿Que es más conveniente, en términos de desempeño, hacer el truncado >>> y cargar la información o eliminar las tablas, cargar la información y >>> establecer indices? >>> 2.-¿Para qué sirve la sentencia FREEZE en el copy y cómo puedo >>> utilizarla desde el batch? >>> >>> Agradezco de antemano su apoyo y comentarios. >>> >>> by: >>> >>> ISC. Manuel Alejandro Estévez Fernández >>> >>> >> VII Escuela Internacional de Verano en la UCI del 30 de junio al 11 de >> julio de 2014. Ver www.uci.cu >> > > -- Eduardo Arenas Castillo. +56 9 6629 1618