7爷爱美食
1、事务提交是提交事务的所有操作:具体来说就是将事务中所有对数据库的更新写回到磁盘上的物理数据库中,事务正常结束;
2、事务回滚是数据库返回到事务开始的状态:事务在运行过程中发生某种故障,事务不能继续执行,系统将事务中对数据库的所有已完成的更新操作全部撤销,使数据库回滚到事务开始时的状态。
3、在计算机网络以及数据库领域内,二阶段提交(英语:Two-phase Commit)是指,为了使基于分布式系统架构下的所有节点在进行事务提交时保持一致性而设计的一种算法(Algorithm)
扩展资料
二阶段提交前提
二阶段提交算法的成立基于以下假设:
1、该分布式系统中,存在一个节点作为协调者(Coordinator),其他节点作为参与者(Cohorts)。且节点之间可以进行网络通信。
2、所有节点都采用预写式日志,且日志被写入后即被保持在可靠的存储设备上,即使节点损坏不会导致日志数据的消失。
3、所有节点不会永久性损坏,即使损坏后仍然可以恢复。
参考资料来源:
百度百科-二阶段提交
百度百科-事务回滚
赵家小燕儿
事务(Transaction),一般是指要做的或所做的事情。在计算机术语中是指访问并可能更新数据库中各种数据项的一个程序执行单元(unit)。事务通常由高级数据库操纵语言或编程语言(如SQL,C++或Java)书写的用户程序的执行所引起,并用形如begin transaction和end transaction语句(或函数调用)来界定。
事务的提交是指事务里的所有操作都正常完成。
事务的回滚是指程序或数据处理错误,将程序或数据恢复到上一次正确状态的行为。
扩展资料:
事务的特征:
事务应该具有4个属性:原子性、一致性、隔离性、持久性。这四个属性通常称为ACID特性。
1、原子性(atomicity)。一个事务是一个不可分割的工作单位,事务中包括的诸操作要么都做,要么都不做。
2、一致性(consistency)。事务必须是使数据库从一个一致性状态变到另一个一致性状态。一致性与原子性是密切相关的。
隔离性(isolation)。一个事务的执行不能被其他事务干扰。即一个事务内部的操作及使用的数据对并发的其他事务是隔离的,并发执行的各个事务之间不能互相干扰。
4、持久性(durability)。持久性也称永久性(permanence),指一个事务一旦提交,它对数据库中数据的改变就应该是永久性的。接下来的其他操作或故障不应该对其有任何影响。
参考资料来源:百度百科-事务
参考资料来源:百度百科-回滚
蛋蛋的肉粑粑
区别:
1、prune的意思是修剪,比如说修剪树枝等;而delete的意思是删除,比如删除某段文字
2、prune可以作为及物动词和名词,而delete只能作为及物动词
单词分析:
一、prune
音标:英[pruːn]美[pruːn]
vt.修剪;削减;修剪树枝;打杈;裁减;精简;
n.干梅子;西梅干;李子干
短语:
1、prune back修剪;修整
2、Prune Juice西梅汁;李子汁
3、canned prune李子罐头
例句:
1、Prune rambling roses when the flowers have faded.
花儿已经凋谢了的时候,修剪那些凌乱的蔷薇。
2、Can you tell me whether it is a good thing to prune an apple tree?
你能否告诉我,修剪苹果树是不是件好事?
3、We can research how to prune rose bushes.
我们可以研究一下怎样修剪蔷薇丛。
二、delete
音标:英[dɪˈliːt]美[dɪˈliːt]
vt.删去;删除
短语:
1、delete all全部删除
2、delete from删除;从…上删掉
3、delete keyn. [计]删除字符键
例句:
1、Dreams organize the events of the day into folders and delete what is not needed.
在梦中,一天的事情被分门别类地整理好,而不必要的则会被删除。
2、We will be pleased to delete the charge from the original invoice.
我们将愿意将这笔收费从原来的发票中删去。
3、So all I have to do is delete those sections?
所以我所有要做的就是把这些部分都删掉?
青春冰帝
英语on our behalf翻译成中文是:“代表我们”。
重点词汇: behalf
一、单词音标
二、单词释义
三、词形变化
四、短语搭配
五、词语用法
六、双语例句
Camillemcc
一组业务整体处理的行为叫一个事务。这一组的业务都能成功处理,我们就可以把这个事务提交来保存你已做的行为结果。但如果一组中有任何的差错出现的话,我们就认为这事务不成功,需要回滚来撤消之前的操作。举例:你去银行转账,转账我们有两步吧,从你账户中取出钱再往他账户中加钱。那这两步银行是必须要确保正确无误的进行的。要被看做成一个事务。其中任何一步出错就算是转账失败,但可能你这时是已经从你账户中扣了钱了,又没往他账户里加钱?怎么办算了?你不肯吧。所以银行会事务回滚,不保存你刚才的操作,即恢复到你没转账之前的状态
bingdaoyu16
drop、truncate和delete的区别(1)DELETE语句执行删除的过程是每次从表中删除一行,并且同时将该行的删除操作作为事务记录在日志中保存以便进行进行回滚操作。 TRUNCATE TABLE 则一次性地从表中删除所有的数据并不把单独的删除操作记录记入日志保存,删除行是不能恢复的。并且在删除的过程中不会激活与表有关的删除触发器。执行速度快。(2)表和索引所占空间。 当表被TRUNCATE 后,这个表和索引所占用的空间会恢复到初始大小, DELETE操作不会减少表或索引所占用的空间。 drop语句将表所占用的空间全释放掉。(3)一般而言,drop > truncate > delete(4)应用范围。 TRUNCATE 只能对TABLE; DELETE可以是table和view(5)TRUNCATE 和DELETE只删除数据, DROP则删除整个表(结构和数据)。(6)truncate与不带where的delete :只删除数据,而不删除表的结构(定义)drop语句将删除表的结构被依赖的约束(constrain),触发器(trigger)索引(index);依赖于该表的存储过程/函数将被保留,但其状态会变为:invalid。(7)delete语句为DML(data maintain Language),这个操作会被放到 rollback segment中,事务提交后才生效。如果有相应的 tigger,执行的时候将被触发。(8)truncate、drop是DLL(data define language),操作立即生效,原数据不放到 rollback segment中,不能回滚(9)在没有备份情况下,谨慎使用 drop 与 truncate。要删除部分数据行采用delete且注意结合where来约束影响范围。回滚段要足够大。要删除表用drop;若想保留表而将表中数据删除,如果于事务无关,用truncate即可实现。如果和事务有关,或老师想触发trigger,还是用delete。(10) Truncate table 表名 速度快,而且效率高,因为: truncate table 在功能上与不带 WHERE 子句的 DELETE 语句相同:二者均删除表中的全部行。但 TRUNCATE TABLE 比 DELETE 速度快,且使用的系统和事务日志资源少。DELETE 语句每次删除一行,并在事务日志中为所删除的每行记录一项。TRUNCATE TABLE 通过释放存储表数据所用的数据页来删除数据,并且只在事务日志中记录页的释放。 (11) TRUNCATE TABLE 删除表中的所有行,但表结构及其列、约束、索引等保持不变。新行标识所用的计数值重置为该列的种子。如果想保留标识计数值,请改用 DELETE。如果要删除表定义及其数据,请使用 DROP TABLE 语句。 (12) 对于由 FOREIGN KEY 约束引用的表,不能使用 TRUNCATE TABLE,而应使用不带 WHERE 子句的 DELETE 语句。由于 TRUNCATE TABLE 不记录在日志中,所以它不能激活触发器。一、delete1、delete是DML,执行delete操作时,每次从表中删除一行,并且同时将该行的的删除操作记录在redo和undo表空间中以便进行回滚(rollback)和重做操作,但要注意表空间要足够大,需要手动提交(commit)操作才能生效,可以通过rollback撤消操作。2、delete可根据条件删除表中满足条件的数据,如果不指定where子句,那么删除表中所有记录。3、delete语句不影响表所占用的extent,高水线(high watermark)保持原位置不变。二、truncate1、truncate是DDL,会隐式提交,所以,不能回滚,不会触发触发器。2、truncate会删除表中所有记录,并且将重新设置高水线和所有的索引,缺省情况下将空间释放到minextents个extent,除非使用reuse storage,。不会记录日志,所以执行速度很快,但不能通过rollback撤消操作(如果一不小心把一个表truncate掉,也是可以恢复的,只是不能通过rollback来恢复)。3、对于外键(foreignkey )约束引用的表,不能使用 truncate table,而应使用不带 where 子句的 delete 语句。4、truncatetable不能用于参与了索引视图的表。三、drop1、drop是DDL,会隐式提交,所以,不能回滚,不会触发触发器。2、drop语句删除表结构及所有数据,并将表所占用的空间全部释放。3、drop语句将删除表的结构所依赖的约束,触发器,索引,依赖于该表的存储过程/函数将保留,但是变为invalid状态。 总结:1、在速度上,一般来说,drop> truncate > delete。2、在使用drop和truncate时一定要注意,虽然可以恢复,但为了减少麻烦,还是要慎重。3、如果想删除部分数据用delete,注意带上where子句,回滚段要足够大; 如果想删除表,当然用drop; 如果想保留表而将所有数据删除,如果和事务无关,用truncate即可; 如果和事务有关,或者想触发trigger,还是用delete; 如果是整理表内部的碎片,可以用truncate跟上reuse stroage,再重新导入/插入数据。