Probablemente tendría una tabla precalculada, como usted mismo sugiere. Importar es que tienes un mecanismo inteligente para 2 cosas:
- Consulte fácilmente qué entradas se ven afectadas por qué cambio.
- Tener un campo de búsqueda único para una solicitud de formulario completa.
Las entradas de 8M no serían muy significativas si tiene claves sólidas, ya que solo necesitaría una búsqueda directa.
Me tomaría la molestia de escribir actualizaciones específicas para esta tabla en todos los lugares donde sea necesario. Incluso con la gran cantidad de cambios, esto sigue siendo eficiente. Si lo hace correctamente, sabrá qué filas necesita actualizar o invalidar al insertar/actualizar/eliminar el producto.
Nota al margen :Basado en tu comentario. Si necesita agregar código en ocho lugares para cubrir todos los puntos que se pueden eliminar, podría ser un buen momento para refactorizar y centralizar parte del código.