Hola buen día.

Les expongo la duda. Tengo una tabla de mysql (versión 5.0), tipo InnoDB con los siguientes campos.

id_cuenta_contable,id_ejercicio,id_periodo,saldo_cargo,saldo_abono.

hay un índice formato por los campos id_cuenta_contable,id_ejercicio e id_periodo


Estoy trabajando sobre un módulo que permita calcular saldos de cuentas, para un ejercicio y periodo determinado. Este proceso se puede ejecutar las veces que quiera un usuario. Por lo que es posible que la tabla ya tenga información cuando el proceso se realice. y aqui es donde surge mi duda.

Puedo hacerlo de dos maneras:
1.- Borrar lo que hay en la tabla para el ejercicio y periodo seleccionado y luego insertar los cálculos.

2.- Actualizar los campos saldo_cargo y saldo_abono de los id_cuenta_contable que ya existan en la tabla. y luego insertar los id's que hagan falta.

Cuál es la mejor en cuanto a rendimiento? aqui una consideración que estoy tomando, aunque tal vez me falten más.

1.- Al borrar e insertar mysql tendrá que rehacer el índice de la tabla.
2.- Si sólo inserto los id's que me hagan falta, tal vez el proceso de recreación del índice sea más rápido.

Espero sus comentarios y gracias de antemano.

Saludos
Like it on Facebook, +1 on Google, Tweet it or share this topic on other bookmarking websites.
  • Re: Es mas eficiente delete insert o update insert

    by » 9 years ago


    Es correcto lo que comentas, si borras e insertas vas a necesitar regenerar los índices y mas carga para tus discos. Si actualizas las columnas y que posiblemente no se encuentren indexadas no generar IO extra. Yo me voy por la segunda opción.

    Saludos

You do not have permissions to reply to this topic.
Powered by CjForum