database transaction simple details
来源:互联网 发布:无需网络的手机电视 编辑:程序博客网 时间:2024/06/05 20:13
1.事务里一些有问题的读取:脏读,不可重复读,幻象读
脏读 (dirty read)事务T1更新了一行记录的内容,但是并没有提交所做的修改。事务T2读取更新后的行,然后T1执行回滚操作,取消了刚才所做的修改。现在T2所读取的行就无效了。
不可重复读取 (nonrepeatable read)事务T1读取一行记录,紧接着事务T2修改 了T1刚才读取的那一行记录。然后T1又再次读取这行记录,发现与刚才读取的结果不同。这就称为“不可重复”读,因为T1原来读取的那行记录已经发生了变化。
幻像读取 (phantom read)事务T1读取一条指定的WHERE子句所返回的结果集。然后事务T2新插入 一行记录,这行记录恰好可以满足T1所使用的查询条件中的WHERE 子句的条件。然后T1又使用相同的查询再次对表进行检索,但是此时却看到了事务T2刚才插入的新行。这个新行就称为“幻像”,因为对T1来说这一行就像突 然出现的一样。
2.事务的隔离级别
从级别低到高依次为:
READ UNCOMMITTED 幻像读、不可重复读和脏读都允许。
READ COMMITTED 允许幻像读、不可重复读,但不允许脏读。
REPEATABLE READ 允许幻像读,但不允许不可重复读和脏读。InnoDB默认级别
SERIALIZABLE 幻像读、不可重复读和脏读都不允许。
但是InnoDB的可重复读隔离级别和其他数据库的可重复读是有区别的,不会造成幻象读(phantom read)。
ORACLE数据库支持 READ COMMITTED 和 SERIALIZABLE ,不支持 READ UNCOMMITTED 和 REPEATABLE READ 。
- database transaction simple details
- Database transaction ACID
- “数据库事务(Database Transaction)
- Simple Transaction Control Util for Simple Thread
- finding lock details on database
- Database transaction information not available
- Distributed Database and Distributed Transaction
- Database Management Systems (Transaction Management)
- IE02 SAP Transaction Code (T-code) Details
- STMP(Simple Transaction Management Protocol) (二)
- Difference between a hibernate transaction and a database transaction
- operation database in the transaction object
- An simple operation in Database Vault.
- 发布一个协议, STMP(Simple Transaction Management Protocol) (一)
- SQL0964C The transaction log for the database is full.
- Msg 9002 The transaction log for database '' is full
- [Error Fix] The transaction log for database 'DATABASENAME' is full
- Master Note: Troubleshooting Database Transaction Recovery [ID 1494886.1]
- 利用Apache的CLI来处理命令行
- Android Studio(I/O Preview) 使用问题记录
- java 正则表达式测试
- SQL Joins
- 【编程之美】区间重合判断
- database transaction simple details
- java编程思想-abstract class与interface
- android创建设置页面
- Swing之JTable的详细介绍
- ThinkPHP学习笔记多模板支持和多语言支持
- J2EE 部署项目报错
- linux grub 引导启动过程详解
- Source Insight 不显示文件列表的解决
- SurfaceView,SurfaceHolder,SurfaceHolder.CallBack,各代表什么意思