0
点赞
收藏
分享

微信扫一扫

【概念学习】幂等性


OceanBase的insert支持幂等性控制。

什么是幂等性?这来自代数概念:

单目运算, x为某集合内的任意数, f为运算子如果满足f(x)=f(f(x)), 那么我们称f运算为具有幂等性(idempotent)
双目运算,x为某集合内的任意数, f为运算子如果满足f(x,x)=x, f运算的前提是两个参数都同为x, 那么我们也称f运算为具有幂等性



幂等性是系统的接口对外一种承诺(而不是实现), 承诺只要调用接口成功, 外部多次调用对系统的影响是一致的. 声明为幂等的接口会认为外部调用失败是常态, 并且失败之后必然会有重试.



以上内容摘抄自:http://www.smithfox.com/?e=16



insert操作支持幂等性的意思是:对于同一行数据,无论insert执行多少次,最终结果都一致。



update 和 delete 不支持幂等。例如

insert t1 values (c1) values (1),(2),(3),(4);
 delete from t1 where c1 > 0 limit 1; 
 delete from t1 where c1 > 0 limit 1; 
 delete from t1 where c1 > 0 limit 1;

 三次delete,每次执行完成后结果都不同。update类似,也受到了limit的影响。

举报

相关推荐

0 条评论