Jag skulle nog ha en föruträknad tabell – som du själv föreslår. Import är att du har en smart mekanism för 2 saker:
- Fråga enkelt vilka poster som påverkas av vilken ändring.
- Ha ett unikt uppslagsfält för en hel formulärförfrågan.
8M-posterna skulle inte vara särskilt betydelsefulla om du har solida nycklar, eftersom du bara skulle kräva en direkt uppslagning.
Jag skulle gå igenom besväret att skriva specifika uppdateringar för denna tabell på alla ställen där det är nödvändigt. Även med det stora antalet förändringar är detta fortfarande effektivt. Om det görs korrekt kommer du att veta vilka rader du behöver uppdatera eller ogiltigförklara när du infogar/uppdaterar/tar bort produkten.
Sidenot :Baserat på din kommentar. Om du behöver lägga till kod på åtta ställen för att täcka alla punkter kan du radera - det kan vara ett bra tillfälle att omfaktorisera och centralisera lite kod.