先插主表,后插子表会锁超时?
现在有两个表p,f
p 中有个字段 pid,主键
f 中有个字段 fid, 外键,它依赖的是p 表的pid
即p是主表,f是子表
假设有这么一个事务
being tranaction
insert p values (...);
insert f values (...);
commit;
end
insert p 需要在p上加TX锁 那么自然就要在p上加RX
insert f 需要在P上加share锁 同时f上加TX锁,那么自然f上加RX锁
因为 p已经加了RX锁,那么想往f上加share锁总是失败
这样说起来,那么insert f永远都申请不到share锁,导致申请锁超时
我的理解肯定是不正确的。 可是按照我目前理解的理论分析又是这个结果,请大虾指教啊