gpt4 book ai didi

java - 从 PostgreSql DB 中逐条获取记录

转载 作者:行者123 更新时间:2023-12-02 07:47:15 25 4
gpt4 key购买 nike

有一个数据库包含大约 300-400 条记录。我可以进行一个简单的查询来获取 30 条记录,例如:

SELECT * FROM table
WHERE isValidated = false
LIMIT 30

关于数据库表内容的更多说明。有一个名为 isValidated 的列,它可以(正如您正确猜测的那样)采用两个值之一:true 或 false。查询后,应验证某些记录 (isValidated=true)。每组 30 条记录中大约有 5-6 条记录。相应地,在每个查询之后,我将从上一个查询中获取记录(isValidated=false)。事实上,我永远不会用这种方法到达表的末尾。

验证过程是用Java + Hibernate 完成的。我是 Hibernate 新手,所以我使用 Criterion 来进行这个简单的查询。

此类任务有最佳实践吗?添加标志字段(标记已获取的记录)的变体是不合适的(对此数据库进行过度设计)。也许有机会创建一些虚拟表,其中将存储已处理的记录或类似的内容。顺便说一句,在处理完所有记录后,计划再次开始处理它们(有可能其中一些记录需要验证)。

感谢您提前提供的帮助。

最佳答案

我可以想象几种解决方案:

  1. 将所有内容存储在内存中。您只有 400 条记录,考虑到这个数字,这可能是一个完美的解决方案
  2. 在唯一列(例如 PK)上使用 order by 子句(无论如何您都应该这样做),存储最后加载的记录的 ID,并确保下一个查询使用 where ID > :最后ID

关于java - 从 PostgreSql DB 中逐条获取记录,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10659142/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com