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