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

Responder a