El método habitual para "seguir cualquier cambio" en una tabla es agregar procedimientos de activación de inserción/actualización/eliminación en la tabla y guardar esos registros en una tabla de historial.
Por ejemplo, si su tabla de datos principal es "ItemInfo", entonces también tendría una tabla ItemInfo_History que obtuvo una copia del nuevo registro cada vez que algo cambió (a través de los activadores).
Esto mantiene constante el rendimiento de su tabla principal, pero le da acceso al historial de cualquier cambio si lo necesita.
Aquí hay algunos ejemplos, son para SQL Server pero demuestran la lógica:
Mi Tabla de repositorio Mi Tabla de historial del repositorio Mi Procedimiento de activación de inserción de repositorio Mi Procedimiento de activación de actualización del repositorio