Jeg ville kun låse produktregistreringen (med vælg for opdatering - bemærk, vælg lås i deletilstand blokerer ikke andre brugere for at købe det samme produkt) og udfør derefter resten af handlingen. På denne måde blokerer jeg ikke for køb af andre produkter (mens låsning af bordet blokerer for enhver skriveoperation, uanset om der er til produkt 1 eller produkt 2) Og hvorfor du beholder egenskaben max_product_can_sell i stedet for (eller ikke sammen med) tilgængelig_kvantitet ejendom?
Afhænger af isolationsniveau. I serialiserbar - ja, i lavere niveauer er jeg næsten sikker på, nej.