我有一个数据库表,在一列中有一个Y / N标志。我想读取标志为“N”的所有记录,并在处理完记录后,在该记录中将标志设置为“Y”。使用两个单独的连接同时执行此操作是否正确且合理?或者我应该先阅读整个表格,并在完成阅读后才更新?对此有什么正确的解决方法?
所涉及的数据库是Netezza,以防万一。
答案 0 :(得分:1)
主要取决于您的设计和需求。
国旗有多重要?如果在处理完所有标志之前出现问题会怎么样......等等。
为什么你需要两个连接是我的理解,通常你有一个连接你保持打开。我不知道Netezza的块,但也可以让一些系统同时进行选择和更新。
你可以这样做:
答案 1 :(得分:1)
您应先阅读然后更新。不是异步的。如果“选择”部分需要很长时间,您应该考虑批量处理。您可以使用单独的连接,但应确信您已完成阅读。