程序员知识点

系统单据号生成规则推荐

2017-09-20  本文已影响188人  六叔视野

对订单类系统而言,单据号是非常重要的东西。一个好的单据号组成往往应该包含丰富的元素,利于问题的调查,业务的扩展。

这里列举几种不好的单据号范例:

好的单据号规则

系统标识 日期 sequence空间
表示当前单据号是属于哪个系统的,比如001表示支付系统,002表示团购系统 表示这笔单据是发生在哪一天的,yyyyMMdd格式字符串 可放8位数字,支持一亿的sequence,值可以来自当前表的主键ID,不满8位的左边统一补0,这个保证了最终的唯一性

如果当前系统有子单据概念,比如订单系统里还有物流单的概念,则可以加入子业务单标识

系统标识 日期 子业务单标识 sequence空间
- - 001表示物流单,002表示退款单 -

如果你的数据库是分库分表的,则强烈建议在单据号中加入分库分表位,将有很大的收益

系统标识 日期 分库分表位 sequence空间
- - 0102表示01库的02号表 -

总之好的单据号可以获得如下收益:

让我们拥抱好的单据号生成习惯吧!

上一篇 下一篇

猜你喜欢

热点阅读