当事务在时间戳排序协议中回滚时,为什么要为其赋予新的时间戳?

| 当在时间戳排序协议中回滚事务时,为什么要为其赋予新的时间戳? 我们为什么不保留旧的时间戳记?     
已邀请:
如果您说的是一个调度程序,其操作是基于时间戳的,并且允许回滚的事务使用其“旧”时间戳“重新输入调度队列”,那么最终结果可能是调度程序立即将来自该事务的任何请求的优先级最高,并且THAT的最终结果可能是,无论什么问题导致该事务回滚,几乎都会立即重新出现,可能会导致新的回滚,从而导致新的“重新进入计划队列\“等,等等。 或“立即重新进入队列”的最终结果可能是所有其他事务都停止了。 想想邮局里的一排人,有人无法处理请求,那个人被允许立即在前面(而不是后面)重新进入队列。然后轮到您轮到您需要多长时间?     
因为可能还有其他使用新时间戳提交的事务 初始时间戳记为X 交易T1开始 T1分配时间戳,将其递增为X + 1 交易T2开始 T2分配时间戳将其递增到X + 2的值 T2提交 T1回滚 如果T1将时间戳回滚到X,则第三笔交易将与T2的分配值产生冲突。增量和顺序也一样。如果您需要单片序列值(无间隙),则必须对事务进行序列化,这会以性能不佳为代价。     

要回复问题请先登录注册