【发布时间】:2020-11-01 15:00:09
【问题描述】:
我有一个 mysql 表,它被两个进程附加,两个单独的进程正在从表中读取以处理记录。写入后的记录不会更新。
每个读取进程每小时唤醒一次以检查是否存在任何记录并处理记录。处理完成后,需要删除记录,以免再次处理记录。
我正在使用带有 mysql 的 spring JPA。现在我正在考虑使用 PESSIMISTIC_WRITE 锁一次查询和锁定 10 条记录,然后删除它们。我可以在使用 PESSIMISTIC_WRITE 锁的同时使用 Pageable 来查询记录吗?而且,Pageable 会只锁定一页记录吗?
我想对这种方法的想法以及其他人是否尝试过。如有任何反馈,我将不胜感激。
问候, 灰
【问题讨论】:
-
这取决于查询,somethimes JPA 获取所有数据然后处理,somethimes 使用限制偏移量进行查询。对于第二种情况,可以这样做。不如先试试看?
标签: mysql sql spring-data-jpa