Montes/Gnzsoloyo, antes que nada, deseandoles una feliz navidad.
Con respecto al tema, creería que la opción mas rápida y eficiente es un trigger. Lo que dice gnzsoloyo en cuanto al performance es cierto si fuera necesario depender del resultado de un query para movilizar el insert actual, sin embargo, veo que esto no es necesario, teniendo en cuenta que el valor a procesar es uno de los parametros de entrada y no es necesario consultarlo.
Tomando como base los calculos que ya gnzsoloyo realizó en el ejemplo, la solución quedaría así:
Código MySQL:
Ver original );
);
DELIMITER $$
(
);
DELIMITER ;
El parametro de entrada, sería el nuevo valor de la columna dato, y la operación que se realiza es otro INSERT, por lo que no se genera contención en la operación. Si se tratara de un UPDATE o un valor extraido de un SELECT ejecutado al interior del TRIGGER efectivamente esto podría traer serios problemas de performance.
Posterior a esto, se genera un INSERT sobre la tabla datos.
Código MySQL:
Ver originalmysql
> INSERT INTO datos
(sucuersal_id
,tiempo
,dato
) VALUES(12345,NOW(),'00E +3189915 +0007180 +0008288 +0455 C+1111');Query OK, 1 row affected (0.08 sec)
+----+--------------+---------------------+---------------------------------------------+
| id | sucuersal_id | tiempo | dato |
+----+--------------+---------------------+---------------------------------------------+
| 1 | 12345 | 2014-12-23 08:52:25 | 00E +3189915 +0007180 +0008288 +0455 C+1111 |
+----+--------------+---------------------+---------------------------------------------+
+--------------+---------+---------+---------+-----------------+-----------+
| inicio_trama | saldo | voltaje | bateria | codigo_sucursal | fin_trama |
+--------------+---------+---------+---------+-----------------+-----------+
| 00E | 6379830 | 72 | 8 | 0455 C | 1111 |
+--------------+---------+---------+---------+-----------------+-----------+
Sin embargo, habría que analizar la tabla data_procesado si requiere de algún index que mejore las consultas o de que forma se requiere el uso de dicha tabla.
Saludos