应用程序在特定时间间隔后轮询数据库。在每次轮询时,应用程序将读取所有表。
作为优化的一部分,我们希望应用程序仅在发生任何 INSERT/UPDATE/DELETE 时才读取表。所以我想使用时间戳概念。
拥有一个单独的时间戳列可以帮助我跟踪任何行修改。
在查询表时,我可以检查内存中存储的时间戳是否小于表中的 max-of-TimeStamp。如果是,则表示某行已被修改。
但是如果某行被删除,那么与该行关联的最新时间戳就不再存在了。因此,上述算法在这种情况下失败,因为最大时间戳没有给出正确的值。
有没有一种方法可以在不使用触发器的情况下跟踪删除操作?
任何帮助将不胜感激。我正在使用 Sybase ASA 数据库。