MySQL中的系统库和事务

MySQL的系统库和事务

MySQL中的系统库
  • performance_schema
  • sys
  • infomation_schema
  • mysql
performance_schema

这里面主要保存的是和mysql性能相关的表

在这里插入图片描述

sys

系统表,这个表一般是看不见的,里面的表来自infomation_schema 和 performance_schema,以视图的形式存在,mysql5.7 以下没有这个表,需要安装

infomation_schema

里面存储的是表的元数据,比如表的结构、行、列、全局变量、字符集、存储引擎、分区、触发器、存储过程、视图等。
在这里插入图片描述

mysql

里面主要存储权限、日志、成本分析、复制、时区等信息
在这里插入图片描述

数据库中的事务
  • 事务的特性
  • 事务并发会带来什么问题
  • MySQL的隔离级别
  • 基本语法、保存点、隐式提交
事务的特性
  • A (atomicity)原子性—要么全部成功,要么全部失败)
  • C (consistency)一致性 —比如转账,有账户增加金额,就会有账户减少金额)
  • I (isolation) 隔离性 —多个客户端同时操作时,客户端之间不应该相互影响
  • D (Durability) 持久性,事务成功后,即使是数据库宕机,数据也不应该丢失,是持久化的
事务并发会带来什么问题
  • 脏读

读取了别的事务还没有提交的部分,如果其他事务发生回滚,会造成数据不一致 在这里插入图片描述

  • 不可重复读

在同一个事务里面,同一个语句,读取到的数据不一致 在这里插入图片描述

  • 幻读
    同一个事务里面执行同一个语句,查询到的数量不一致在这里插入图片描述
MySQL的隔离级别

mysql 在可重复读级别,已经通过LBCC(LOCK BASE CONCURENCY CONTROL) 解决了幻读的问题,这一点和SQL92标准不同
在这里插入图片描述

基本语法、保存点、隐式提交
  • 基本语法
    begin; --开启事务
    commit; --提交事务
    rollback;–回滚事务

  • 保存点
    这个主要用于比较长的存储过程里面,回滚到某个点,而不是全部回滚
    savepoint a;
    rollback to savepoint a;
    release savepoint a;

  • 隐式提交
    事务开始后,如果重新开启一个事务、如果遇到执行ddl语句,如果发现修改数据库元数据等信息,会自动提交事务,这种叫做隐式提交

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值