有一个包含大约300-400条记录的数据库。我可以进行简单的查询来获取30条记录,如:
SELECT * FROM table
WHERE isValidated = false
LIMIT 30
关于DB表内容的更多说法。有一个名为isValidated的列,可以(正如您猜测的那样)采用以下两个值之一:true或false。在查询之后,应该验证一些记录(isValidated = true)。每组30条记录大约有5-6条记录。相应地,在每次查询之后,我将从先前的查询中获取记录(isValidated = false)。事实上,我永远不会用这种方法达到最终目的。
验证过程是使用Java + Hibernate完成的。我是Hibernate的新手,所以我使用Criterion进行这个简单的查询。
这项任务是否有最佳实践?添加了标志字段(标记已经提取的记录)的变体是不合适的(对此DB进行过度设计)。 也许有机会创建一些虚拟表,其中已存储的记录将被存储或类似的东西。顺便说一句,在处理完所有记录之后,计划再次开始处理它们(有可能需要对其中一些进行验证)。
提前感谢您的帮助。
答案 0 :(得分:2)
我可以想象几种解决方案:
where ID > :lastId