首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 数据库 > SQL Server >

两表关联,外键引用,经常失效解决方案

2012-03-19 
两表关联,外键引用,经常失效HI,各位,背景是这样的:有两个A、B表,表A有三个字段(AID int identity,AName var

两表关联,外键引用,经常失效
HI,各位,背景是这样的:

  有两个A、B表,表A有三个字段(AID int identity,AName varchar(100),ACode varchar(100)),B表外键引用A表的主键AID;每当B表增加数据时,都会先判断传入的AName、ACode是否存在,不存在时插入到A表并返回AID,存在时直接返回ID,得到AID后再做后续操作;

  A表数据不会超过2K,起初我将A表放到内存缓存中,测试时正常,但是在实际运行时,判断操作经常失效,程序直接将AName、ACode插入到A表中,A表出现很多重复数据,数据量稳定在2W-3W左右。

  之后我将A表的查询和插入操作的逻辑搬到存储过程,类似的情况还是会出现。

  在开发测试、或访问量小的时候,逻辑执行是正常的,但是访问量一上去就很郁闷了。

  这种情况是什么问题,谁有碰过,帮忙解答一下,谢谢。

[解决办法]
并发情况下,因为不知道其他进程已将相同AName、ACode的值插入表A,

所以认为还不存在, 所以继续插入咯.
[解决办法]
解决方法是提高事务隔离等级,

[解决办法]
AName、ACode

你把这个弄一个唯一约束不就不可能重复了吗
[解决办法]
A表做唯一约束
[解决办法]
应该是程序逻辑有问题

热点排行