乐观锁全量库存与增量库存

10 篇文章 0 订阅

乐观锁全量库存与增量库存

SQL

version` int(16) DEFAULT '0' COMMENT '乐观锁',

全量库存(Full Inventory)

定义: 全量库存通常指的是对整个库存数据进行完整的更新或同步。在全量库存处理中,系统会将整个库存数据重新计算、更新或加载,以确保库存记录的准确性和一致性。
应用场景: 通常在周期性的库存盘点、系统初始化、数据迁移等场景下使用。全量库存处理可以确保系统中的库存信息是最新的,但它可能对性能有一定的影响,特别是在库存数据量很大的情况下。

    <update id="updateFullInventory">
        update product
        <set>
            <if test="version != null">
                `version` = `version` + 1,
            </if>
            <if test="stock != null">
                `stock` = #{stock},
            </if>
            update_time = now()
        </set>
        where product_id = #{productId} and version = #{version}
    </update>

增量库存(Incremental Inventory)

定义: 增量库存是指只处理库存变动部分的更新。系统仅关注库存中发生了变化的商品,而不是对整个库存数据进行重新加载。这可以减少处理时间和系统资源的开销。
应用场景: 常用于日常库存管理、订单处理、库存调整等场景。通过关注变动部分,增量库存处理可以更高效地维护库存信息。实时性可能更高,但在某些情况下可能需要考虑数据同步的一致性。

<update id="updateDecrementInventory">
        update product
        <set>
            <if test="version != null">
                `version` = `version` + 1,
            </if>
            <if test="stock != null">
                `stock` = `stock` + #{stock},
            </if>
            update_time = now()
        </set>
        where product_id = #{productId} AND (stock + #{stock}) >= 0;
    </update>

这里扣减库存用 -负数即可

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值