美文网首页
MySQL-存储引擎、锁以及事务

MySQL-存储引擎、锁以及事务

作者: 遇明不散 | 来源:发表于2019-06-04 16:36 被阅读0次

MySQL存储引擎(处理表的处理器)

# 查看所有存储引擎
show engines;
# 查看已有表的存储引擎
show create table 表名;
# 创建表指定的存储引擎
create table 表名(...)engine=myisam;
# 已有表
lter table 表名 engine=innodb;

解决客户端并发访问的冲突问题

锁分类
锁类型
  • 读锁(共享锁)
    加读锁之后别人不能更改表记录,但可以进行查询
  • 写锁(互斥锁、排他锁)
    可以进行insert、delete、update等操作,加写锁之后别人不能查、不能改
锁粒度
  • 表级锁(myisam)
  • 行级锁(innodb)
常用存储引擎特点
InnoDB特点
  • 共享表空间
# 表名.frm :表结构和索引文件
# 表名.ibd :表记录
  • 支持行级锁
  • 支持外键、事务操作
MyISAM特点
  • 独享表空间
# 表名.frm :表结构
# 表名.myd :表记录
# 表名.myi :索引文件
  • 支持表级锁
如何决定使用哪个存储引擎
  • 执行查操作多的表用MyISAM(使用InnoDB浪费资源)
  • 执行写操作多的表用InnoDB

事务

  • 一件事从开始发生到结束的整个过程
  • 确保数据一致性
  • 事务与事务回滚只针对对记录的操作:增加、删除、修改,对创建库、创建表是无效的
属性
  • 原子性:一个事务是不可分割的工作单位,事务中的各个操作要么都做,要么都不做。
  • 一致性:事务必须从一个一致性状态到另一个一致性状态。
  • 隔离性:一个事务的执行的不能被其他并发事务干扰。
  • 持久性:一个事务一旦提交,它对数据库的改变是永久性的。
事务和事务回滚应用
  • MySQL中sql命令会自动commit到数据库
show variables like "autocommit";
事务应用
# 开启事务
# 开始事务后,自动提交被禁用
begin;
# 终止事务(回滚事务)
commit; | rollback;

相关文章

  • MySQL-存储引擎、锁以及事务

    MySQL存储引擎(处理表的处理器) 锁 解决客户端并发访问的冲突问题 锁分类 锁类型 读锁(共享锁)加读锁之后别...

  • 【学习】MySQL数据库

    存储引擎 存储引擎 索引 InnoDB索引原理索引 锁 锁不同Select加锁分析 事务 事务事务隔离级别XAMV...

  • 储存引擎

    MySQL各存储引擎 一、MyISAM存储引擎 提供高速存储和检索,以及全文搜索能力。 不支持事务。表级锁。不能在...

  • mysql规范

    一、基础规范【强制】使用InnoDB存储引擎解读:InnoDB存储引擎是MySQL默认存储引擎,支持事务和行级锁,...

  • mysql 存储引擎

    什么是存储引擎 常见的几种存储引擎 InnoDB InnoDB是一个支持事务安全的搜索引擎。支持外键、行锁、事务...

  • MySQL引擎与字符集选择

    1.引擎 查看MySQL支持的引擎 MyISAM 无法处理事务 表级锁 提供高速存储和检索,以及全文搜索能力,适合...

  • 数据库优化

    存儲引擎(数据存储形式,锁的粒度,事务,数据的存储特点)InnoDB是默认的事务型存储引擎, 并且通过一些机制和工...

  • 【原创】因酷数据库开发规范

    基本规范 所有表必须使用Innodb存储引擎Innodb存储引擎是Mysql5.6以后默认引擎支持事务,行级锁,更...

  • 深入理解MySQL

    存储引擎 现在常用的存储引擎是InnoDB,以前常用的是MyISAM。 InnoDB 支持事务、支持行级锁、支持外...

  • InnoDB,MyISAM,Memory区别

    InnoDB存储引擎 innodb存储引擎的mysql表提供了事务,回滚以及系统崩溃修复能力和多版本迸发控制的事务...

网友评论

      本文标题:MySQL-存储引擎、锁以及事务

      本文链接:https://www.haomeiwen.com/subject/bwcrxctx.html