我们有一个对多个表中的多个记录进行操作的过程,在某些情况下,该过程需要在名为TAX
的表中插入,当此插入发生时,另一个名为PAYMENT
的表被锁定插入,但不用于更新。
因此,如果另一个事务试图插入PAYMENT
中,则它会等到该过程完成,但是尝试更新PAYMENT
的事务不会等待。
TAX
表具有两个指向PAYMENT
的外键,一个是可为空的,另一个是强制性的,并且TAX
表上存在两个索引,一个在{{1}上}(必填项)和FK_PAY
上的一项(具有必选(FK_PAY_SETTLEMENT, ID)
列的可选项)。
如何防止ID
表上的锁定,因为该表是高并发插入的目标。
我将提到PAYMENT
表在PAYMENT
的哈希表上进行分区,并且id
在TAX
上通过引用进行分区(强制引用)。
答案 0 :(得分:0)
(税表中的)外键引用阻止了对支付表的插入操作。
“付款”表中的“更新”操作在更新表中的旧数据时起作用(没有主键或任何其他键冲突)。