在读取和删除行之前休眠锁定 table
hibernate lock table before reading and deleting rows
我有一个 table,它会不断更新。每隔 30 秒,我从这些 table 中读取值以处理某些内容,然后将其删除。一切都很好,虽然我担心在读取和删除之间,可能会插入新行,这意味着我还没有读取它们,但它会被删除。
我正在考虑锁定此 table,以便在我阅读它并删除该条目时,但我看到有人建议不要这样做。
另外,我需要确保,如果我锁定它,要插入的项目会以某种方式保留在缓存中,并在锁定消失时插入。我不确定什么是最佳实践以及如何去做。
如果您使用的是 auto_increment
id 字段,您可以获得您读取的最后一行 id 并仅删除那些带有 id <= $read_id
的行
我有一个 table,它会不断更新。每隔 30 秒,我从这些 table 中读取值以处理某些内容,然后将其删除。一切都很好,虽然我担心在读取和删除之间,可能会插入新行,这意味着我还没有读取它们,但它会被删除。 我正在考虑锁定此 table,以便在我阅读它并删除该条目时,但我看到有人建议不要这样做。 另外,我需要确保,如果我锁定它,要插入的项目会以某种方式保留在缓存中,并在锁定消失时插入。我不确定什么是最佳实践以及如何去做。
如果您使用的是 auto_increment
id 字段,您可以获得您读取的最后一行 id 并仅删除那些带有 id <= $read_id