概述
事务
作为单个逻辑工作单元执行的一系列操作。
事务的特性:
①原子性:事务作为一个整体被执行,要么全部执行,要么全部不执行。
②一致性:保证数据库的状态从一个一致状态转变为另一个一致状态。
③隔离性:多个事务并发执行时,一个事务的执行并不影响其他事务的执行。
④持久性:一个事务一旦提交,对数据库的修改应该永久保存。
事务的并发访问问题(由隔离性引起):
①脏读:B事务读取到了A事务尚未提交的数据。
②不可重复读:一个事务中,两次读取的数据的内容不一致。
③幻读/虚读:一个事务中,两次读取的数据的数量不一致。
事务的隔离级别:
答:读未提交、读已提交、可重复读和序列化
①读取尚未提交的数据:哪个问题都不能解决。
②读取已经提交的数据:可以解决脏读。
oracle默认。
③重读读取:可以解决脏读,不可重复读。
mysql默认。
④串行化:都可以解决。---相当于锁表,一般没人用,效率太低。
扩展问题:MySQL 事务默认隔离级别是哪个?
答:可重复读。
作为单个逻辑工作单元执行的一系列操作。
事务的特性:
①原子性:事务作为一个整体被执行,要么全部执行,要么全部不执行。
②一致性:保证数据库的状态从一个一致状态转变为另一个一致状态。
③隔离性:多个事务并发执行时,一个事务的执行并不影响其他事务的执行。
④持久性:一个事务一旦提交,对数据库的修改应该永久保存。
事务的并发访问问题(由隔离性引起):
①脏读:B事务读取到了A事务尚未提交的数据。
②不可重复读:一个事务中,两次读取的数据的内容不一致。
③幻读/虚读:一个事务中,两次读取的数据的数量不一致。
事务的隔离级别:
答:读未提交、读已提交、可重复读和序列化
①读取尚未提交的数据:哪个问题都不能解决。
②读取已经提交的数据:可以解决脏读。
oracle默认。
③重读读取:可以解决脏读,不可重复读。
mysql默认。
④串行化:都可以解决。---相当于锁表,一般没人用,效率太低。
扩展问题:MySQL 事务默认隔离级别是哪个?
答:可重复读。
Oracle事务默认隔离级别是哪个?
答:读已提交。
最后
以上就是从容钢笔为你收集整理的数据库事务的一些面试问题的全部内容,希望文章能够帮你解决数据库事务的一些面试问题所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
发表评论 取消回复