我们有多个进程读取一个数据库表,获取可用记录并使用它。它工作正常。
当此表中没有记录时,每个进程等待5秒钟并再次读取。 因此,记录可以在表中闲置5秒,这是不好的。
什么是建议的解决方案来消除此类等待并在创建记录时立即进行?一个解决方案可能是触发器,它在创建记录时执但是这个解决方案需要知道工作流程才能将记录传递给空闲进程。
看起来理想的解决方案是当每个进程从某些东西开始通过SQL读取时,并且当创建记录时,其中一个等待进程将记录它而其他进程将继续等待。
Oracle 10是否提供此类或类似的机制?
答案 0 :(得分:1)
查看10g中的Database Change Notification,此后已重命名为Continuous Query Notification。
我通常喜欢包含一个示例,但现在很难找到10g实例,即使是一个简短的示例也需要大量代码。这个过程看起来很复杂,最好按照你的建议使用触发器,并处理紧耦合。