如何在不使用MySQL中使用独特键的情况下避免重复



这是一种用例,在该帐户中,唯一的密钥约束可以不同。因此,重复限制不能使用主密钥/唯一密钥约束来实现。

假设我们有具有C1,C2,C3,C4,C5列的表T1,并且我们有两个帐户A1和A2。A1和A2的数据进入同一表T1。但是,为了获得Account A1的唯一记录,我们考虑C1和C2列,并且在Account A2中,我们考虑C3和C3。像明智的一样,我们可以许多帐户每个帐户都有不同的列集来识别唯一的记录。

因此,我们在Java代码中进行了检查。但是,如果有2个重复的并发请求,则2个Java线程会发现该成员不存在,并且它们都插入导致重复的记录。我如何防止这种重复的插入?

我可以通过使用行级锁或Hibernate的乐观并发来防止更新。我可以想到表级锁以防止此类插入物,但是限制了应用程序性能,因为它也阻止了更新。

使关键主代替唯一的

最新更新