Foxtable(狐表)用户栏目专家坐堂 → [分享]存储过程版复杂编号,可自动补号--最终改进版


  共有49600人关注过本帖平板打印复制链接

主题:[分享]存储过程版复杂编号,可自动补号--最终改进版

帅哥哟,离线,有人找我吗?
jnletao
  1楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:四尾狐 帖子:936 积分:7719 威望:0 精华:0 注册:2013/7/7 13:37:00
[分享]存储过程版复杂编号,可自动补号--最终改进版  发帖心情 Post By:2014/12/20 12:41:00 [只看该作者]

这几天一直在学习测试编号生成的方法,期间参考了程兴刚老师,jspta老师,飞飞老师的例子,当然还有各位老师的热心跟帖帮助。
最初将程老师的代码转为存储过程,但依然存在重号,讨论期间甜版及jspta老师给了很多指导,才得以完成此例。

此最终实例语法思路是否严谨我也不敢保证,但我采用鼠标模拟器及四个虚拟机每5毫秒点击的方式进行了测试,没有再发现重号问题。
另外说明下,如果只是序号递增,几乎没有重号的概率,重号现象主要出现在实际删单后补单的极端情况下。
极端情况的说明,特点是几乎在同一时间有大量新增,保存,删除等各种无序操作时的情况,且客户机及服务器响应不佳时,这种情况多出现在多用户,高并发环境中。(其实多用户,高并发环境不只是单一软件能解决的事)。

发此帖的目的一是为了共享及回报各位老师的帮助。二是希望各位老师能够给予指正,以便找到BUG或更好的方法。


以下内容只有回复后才可以浏览

---------------------12.20 6:22分--------------------------
下午又增大了测试力度,发现还是有重号现象。
因为这此改进了存储过程,增加了回滚及锁定


以下内容只有回复后才可以浏览


---------------------2014.12.22 8:58分--------------------------
在昨天的学习中发现原代码在删除时做的判断不足。
此次改进了程序在删除时做的验证,增加了两个编号回收的存储过程。经过测试,没有再发现重号的问题。
依然不敢保证在大并发或程序出错,或断电时无重号,建议保存记录前再做下重号检测!!!!
此暂时为最终改进版了。

以下内容只有回复后才可以浏览



工作精力有限,暂时没时间再深入的学习了,请老师们多多给予指正,已求最好的方法!

以下为狐表里的代码
 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:eventcode.txt


[此贴子已经被作者于2014-12-22 10:26:01编辑过]

 回到顶部
总数 128 1 2 3 4 5 6 7 8 9 10 下一页 ..13