Mam bazę produktową. Dany produkt opisywany jest przez bardzo dużą ilość cech (właściwości).
Zastanawiam się jak najbardziej optymalnie można zrealizować sposób edycji tych cech. Chodzi mi tutaj przede wszystkim o optymalny stosunek ilości zapytań do czasu ich wykonania.
Doszedłem do 2 rozwiązań. W moim odczuciu (i bazując na posiadanej wiedzy) opcja a) wydaje się być lepsza.
Być może jest inne rozwiązanie, które jest powszechnie używane w przypadku takich baz produktowych, a o istnieniu którego ja nie mam pojęcia - stąd też post tutaj.
Wszelkie sugestie/pomysły będą wartościowe ;)
a) Usunięcie wszystkich cech opisujących dany produkt i zrobienie INSERT'ów od początku
- samo usuwanie zrobię 1 zapytaniem, później wstawię te cechy od nowa
- niestety indeksy będą "skakały" - w konsekwencji nawet przy niewielu produktach ale licznej edycji będą bardzo wysokie
b) sprawdzanie czy cecha już istnej - jeśli tak zrób update, jeśli nie to wstaw
- tutaj na każdą cechę zawsze 2 zapytania (SELECT i INSERT lub SELECT i UPDATE)
c) inne rozwiązanie - jakie?