首页 > 试题广场 >

关于数据库的事务,下面哪些描述是正确的:( &nbs...

[不定项选择题]
关于数据库的事务,下面哪些描述是正确的:(    )
  • 一个数据库事务可以包含多个查询、修改、删除、插入等数据库动作,它们要么作为一个整体完全得到确认,要么完全失败
  • 下面的数据库动作“begin transaction; insert into employee values(1, 'Cardinal'); commit; rollback;”最终插入的数据会被取消,不会记录到数据库中
  • 主流的数据库系统都允许设置数据库事务隔离级别,隔离级别“read commited”时,一个事务不能读取另一个事务中修改的数据,但可以读取另一个事务中新插入的数据
  • 一个事务只能包含对一个数据库实例的数据操作,不允许跨多个数据库实例,跨多个数据库实例需要分布式事务支持
  • 数据库事务会给数据库带来并发操作带来一定影响,会降低系统的并发能力
  • 互联网应用大量采用补偿机制而不是事务机制,证明事务对数据库系统不再重要
B:commit之前rollback才会取消数据的插入
C:读已提交(read committed):可以看到其他事务添加的新纪录,而且其他事务对现存记录做出的修改一旦被提交,也可以看到,避免丢失修改和脏读。二级封锁协议
发表于 2019-12-29 16:00:48 回复(2)
B选项数据操作已经提交了,已经被记录了。
C选项数据库事务隔离,不能删除修改数据亦不能读取数据了
发表于 2019-11-08 09:28:59 回复(0)
C保持疑问,应该是可读取另一个事务新插入的数据,不然为什么会有幻读现象,幻读就是一个事务内两次读取的记录数目不同,可能由于其他事务的插入和删除造成的,只有将事务隔离级别变为串行化或者使用间隙锁才能解决幻读现象
发表于 2021-11-25 14:40:56 回复(0)
A、D、E,
互联网应用大量采用补偿机制而不是事务机制,证明事务对数据库系统不再重要——错了,事务是非常重要的,事务中的隔离性和一致性保证了数据统一和操作时刻的安全。
发表于 2021-05-01 13:36:56 回复(1)
C选项,在MySQL中能防止读取新插入数据(Phantom Read)的应该是可重复读(Repeatable-read),不过事实上MySQL对“可重复读”实现的是快照读(Snapshot Read) InnoDB引擎通过MVCC实现防止幻读
发表于 2023-07-25 11:21:42 回复(0)