sql---事务

InnoDB支持事务,MyISAM不支持事务

事务的特征(ACID)

  1. 原子性
  2. 一致性
  3. 隔离性
  4. 持久性

oracle的隔离级别是“读提交”

不同事务隔离级别:

  • 读未提交:别人改数据的事务尚未提交,我在我的事务中也能读到。
  • 读已提交:别人改数据的事务已经提交,我在我的事务中才能读到。
  • 可重复读:别人改数据的事务已经提交,我在我的事务中也不去读。
  • 串行:我的事务尚未提交,别人就别想改数据。

 查看当前的隔离级别

show variables like 'transaction_isolation' 

事务隔离的实现:每条记录在更新的时候都会同时记录一条回滚操作。同一条记录在系统中可以存在多个版本,这就是数据库的多版本并发控制(MVCC)

回滚日志什么时候删除?

  系统会判断当没有事务需要用到这些回滚日志的时候,回滚日志会被删除。

事务启动方式:

  一、显式启动事务语句,begin或者start transaction,提交commit,回滚rollback;

  二、set autocommit=0,该命令会把这个线程的自动提交关掉。这样只要执行一个select语句,事务就启动,并不会自动提交,直到主动执行commit或rollback或断开连接。

posted @ 2020-03-30 11:39  花花妹子。  阅读(227)  评论(0编辑  收藏  举报