以文本方式查看主题 - Foxtable(狐表) (http://foxtable.com/bbs/index.asp) -- 专家坐堂 (http://foxtable.com/bbs/list.asp?boardid=2) ---- [分享]存储过程版复杂编号,可自动补号--最终改进版 (http://foxtable.com/bbs/dispbbs.asp?boardid=2&id=61848) |
||||
-- 作者:jnletao -- 发布时间:2014/12/20 12:41:00 -- [分享]存储过程版复杂编号,可自动补号--最终改进版 这几天一直在学习测试编号生成的方法,期间参考了程兴刚老师,jspta老师,飞飞老师的例子,当然还有各位老师的热心跟帖帮助。 最初将程老师的代码转为存储过程,但依然存在重号,讨论期间甜版及jspta老师给了很多指导,才得以完成此例。 此最终实例语法思路是否严谨我也不敢保证,但我采用鼠标模拟器及四个虚拟机每5毫秒点击的方式进行了测试,没有再发现重号问题。 另外说明下,如果只是序号递增,几乎没有重号的概率,重号现象主要出现在实际删单后补单的极端情况下。 极端情况的说明,特点是几乎在同一时间有大量新增,保存,删除等各种无序操作时的情况,且客户机及服务器响应不佳时,这种情况多出现在多用户,高并发环境中。(其实多用户,高并发环境不只是单一软件能解决的事)。 发此帖的目的一是为了共享及回报各位老师的帮助。二是希望各位老师能够给予指正,以便找到BUG或更好的方法。 以下内容只有回复后才可以浏览 ---------------------12.20 6:22分-------------------------- 下午又增大了测试力度,发现还是有重号现象。 因为这此改进了存储过程,增加了回滚及锁定 以下内容只有回复后才可以浏览 ---------------------2014.12.22 8:58分-------------------------- 在昨天的学习中发现原代码在删除时做的判断不足。 此次改进了程序在删除时做的验证,增加了两个编号回收的存储过程。经过测试,没有再发现重号的问题。 依然不敢保证在大并发或程序出错,或断电时无重号,建议保存记录前再做下重号检测!!!! 此暂时为最终改进版了。 以下内容只有回复后才可以浏览 工作精力有限,暂时没时间再深入的学习了,请老师们多多给予指正,已求最好的方法! 以下为狐表里的代码
[此贴子已经被作者于2014-12-22 10:26:01编辑过]
|
||||
-- 作者:jnletao -- 发布时间:2014/12/20 12:43:00 -- 此图为表结构 此图为最终效果
|
||||
-- 作者:jnletao -- 发布时间:2014/12/20 12:50:00 -- 此图为存储过程,刊出以便各位老师指定 |
||||
-- 作者:程兴刚 -- 发布时间:2014/12/20 12:56:00 -- 收藏! |
||||
-- 作者:bigeng -- 发布时间:2014/12/20 13:43:00 -- 学习,正需要 |
||||
-- 作者:lyfxybc -- 发布时间:2014/12/20 13:47:00 -- 收藏 |
||||
-- 作者:神一样的男人 -- 发布时间:2014/12/20 15:29:00 -- 11111111111111111 |
||||
-- 作者:rjh4078 -- 发布时间:2014/12/20 18:33:00 -- |
||||
-- 作者:lkqing -- 发布时间:2014/12/20 18:52:00 -- 看看 |
||||
-- 作者:freeants -- 发布时间:2014/12/21 10:17:00 -- 看看,多谢分享 |