Предположим есть интернет магазин, у которого на складе осталось 5 телефонов.
Параллельно приходит 5 пользователей и покупают этот телефон, в результате в базе магазина получается -5.
Я так понимаю можно поставить уровень изоляции serializeble но тогда все будет ужасно тормозить, как по другому можно решить эту проблему ?
Вы для себя пишите магазин ? или по реальным требованиям заказчика ?
Бизнес не любит светить кол-во товара . Максимум градация ( 1, достаточно, много)
Складские остатки если и уменьшать, то на стадии подтверждения заказа менеджером.
Еще многие занимаются продажей без своего склада.
Лентюй, куча денег на рекламу и тут база посылает клиента молча на фиг.
В реальности менеджер садится на телефон и грузить, что телефон могут доставить через несколько дней.
А при слове оплачен - подразумевается еще возврат денег. Так, что имхо минус на складе лучше, чем не понятно куда откаченная, прерванная проводка.