我正在实施在线商店。选择更新等待网络操作?
我想知道是否可以使用select for update
锁定订单记录。
以下是我认为锁定的订单状态更改。
- 支付处理:买受人支付的订单,订单从去到
waiting-for-payment
paid
- 订单取消:买方或卖方取消
- 为了确认顺序:卖家确认订单,使买方不能取消订单
例如,当买方取消订单,卖方确认订单。
如果没有锁定,买方可能会执行取消操作,卖方可能会同时确认订单。
但随着锁定,买方取消或卖家确认。
到目前为止,我的问题是这样的:即使它只是表中的一行,锁定等待网络操作(支付处理)的订单实例会有太大的性能开销?
我正在使用postgresql
我不太明白你的答案。“最好还是使用事务处理历史记录表,记录交易状态随时间变化的完整日志”你能否给我提供一个链接,让我可以更好地理解这句话? – eugene
我的猜测是,你创造了状态变化的历史。并且在你改变状态之后,你查看以前的状态改变并且提出错误并且回滚,如果当前状态改变从先前状态无效的话。想知道我可以如何使用历史表..? – eugene