摘要:關(guān)于循環(huán)主鍵的設(shè)計需求一筆業(yè)務(wù)要生成一個序號,序號長度為位,序號的規(guī)則是固定的前綴位日期位受理人序號位每日循環(huán)的序列號位。方案采用關(guān)系數(shù)據(jù)庫來實現(xiàn),列有和字段,是主鍵。
關(guān)于循環(huán)主鍵的設(shè)計 需求
一筆業(yè)務(wù)要生成一個序號,序號長度為20位,序號的規(guī)則是固定的前綴(5位)+日期(yyyymmdd)(8位)+受理人序號(3位)+每日循環(huán)的序列號(4位)。例如
業(yè)務(wù)員001的業(yè)務(wù)編號
ORDER201801010010001
ORDER201801010010002
ORDER201801010010003
ORDER201801020010001
業(yè)務(wù)員002的業(yè)務(wù)編號
ORDER201801010020001
ORDER201801010020002
ORDER201801010020003
ORDER201801020020001
目前我想到的有兩種實現(xiàn)方式,如下
方案1采用redis來實現(xiàn),將循環(huán)序列號前面的作為KEY,比如ORDER20180101001,ORDER20180101002,設(shè)置一個超時時間,目前是按天循環(huán),則超時時間設(shè)置為24小時。value則是一個自增的數(shù)字。這樣就可以滿足需求了。
方案2采用關(guān)系數(shù)據(jù)庫來實現(xiàn),列有seqprefix和nextval字段,seqprefix是主鍵。獲取的時候查看seqprefix是否存在,不存在則插入 seqprefix=“XXX”,nextval=2. 如果有,則取出當(dāng)前的nextval,并+1更新。
總結(jié)以上兩個都可以滿足需求。方案1比較方便,不涉及數(shù)據(jù)表,方案2比較重一點。不知道業(yè)界還有沒有其他的方法來實現(xiàn)。
文章版權(quán)歸作者所有,未經(jīng)允許請勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉(zhuǎn)載請注明本文地址:http://www.ezyhdfw.cn/yun/71696.html
摘要:索引的原理與應(yīng)用索引類型,存儲結(jié)構(gòu)與鎖在數(shù)據(jù)結(jié)構(gòu)與算法索引一節(jié)中,我們討論了這樣的文件索引以及全文索引的基礎(chǔ)算法,本文則會針對文件索引在關(guān)系型數(shù)據(jù)庫中的實際應(yīng)用進行探討。這個索引的是數(shù)據(jù)表的主鍵,因此表數(shù)據(jù)文件本身就是主索引。 showImg(https://segmentfault.com/img/remote/1460000018453572?w=1280&h=554); 本文節(jié)選...
閱讀 1930·2021-09-29 09:35
閱讀 2790·2021-09-22 15:25
閱讀 2043·2021-08-23 09:43
閱讀 2113·2019-08-30 15:54
閱讀 3407·2019-08-30 15:53
閱讀 2455·2019-08-30 13:50
閱讀 2468·2019-08-30 11:24
閱讀 2336·2019-08-29 15:37