Pewnie miałbym wcześniej obliczoną tabelę - jak sam sugerujesz. Import polega na tym, że masz sprytny mechanizm na 2 rzeczy:
- Łatwo sprawdzaj, które wpisy dotyczą jakich zmian.
- Miej unikalne pole wyszukiwania dla całego żądania formularza.
Wpisy 8M nie byłyby zbyt znaczące, jeśli masz pełne klucze, ponieważ wymagałoby to tylko bezpośredniego wyszukiwania.
Zrobiłbym sobie trud, aby napisać konkretne aktualizacje dla tej tabeli we wszystkich miejscach, w których jest to konieczne. Nawet przy dużej liczbie zmian jest to nadal skuteczne. Jeśli zrobisz to poprawnie, będziesz wiedział, które wiersze należy zaktualizować lub unieważnić podczas wstawiania/aktualizowania/usuwania produktu.
Uwaga boczna :Na podstawie Twojego komentarza. Jeśli potrzebujesz dodać kod w ośmiu miejscach, aby pokryć wszystkie miejsca, możesz usunąć - może to być dobry moment na refaktoryzację i scentralizowanie kodu.