對訂單類系統而言,單據號是很是重要的東西。一個好的單據號組成每每應該包含豐富的元素,利於問題的調查,業務的擴展。數據庫
這裏列舉幾種很差的單據號範例:學習
好的單據號規則日誌
系統標識 | 日期 | sequence空間 |
---|---|---|
表示當前單據號是屬於哪一個系統的,好比001表示支付系統,002表示團購系統 | 表示這筆單據是發生在哪一天的,yyyyMMdd格式字符串 | 可放8位數字,支持一億的sequence,值能夠來自當前表的主鍵ID,不滿8位的左邊統一補0,這個保證了最終的惟一性 |
若是當前系統有子單據概念,好比訂單系統裏還有物流單的概念,則能夠加入子業務單標識字符串
系統標識 | 日期 | 子業務單標識 | sequence空間 |
---|---|---|---|
- | - | 001表示物流單,002表示退款單 | - |
若是你的數據庫是分庫分表的,則強烈建議在單據號中加入分庫分表位,將有很大的收益table
系統標識 | 日期 | 分庫分表位 | sequence空間 |
---|---|---|---|
- | - | 0102表示01庫的02號表 | - |
總之好的單據號能夠得到以下收益:擴展
讓咱們擁抱好的單據號生成習慣吧!程序