Eu provavelmente teria uma tabela pré-calculada - como você mesmo sugere. Importar é que você tem um mecanismo inteligente para 2 coisas:
- Consulte facilmente quais entradas são afetadas por quais alterações.
- Tenha um campo de pesquisa exclusivo para uma solicitação de formulário inteira.
As entradas de 8 milhões não seriam muito significativas se você tivesse chaves sólidas, pois exigiria apenas uma pesquisa direta.
Eu me daria ao trabalho de escrever atualizações específicas para esta tabela em todos os lugares em que fosse necessário. Mesmo com a grande quantidade de mudanças, isso ainda é eficiente. Se feito corretamente, você saberá quais linhas precisa atualizar ou invalidar ao inserir/atualizar/excluir o produto.
Nota :Com base no seu comentário. Se você precisar adicionar código em oito lugares para cobrir todos os pontos, pode ser excluído - pode ser um bom momento para refatorar e centralizar algum código.