Mysql数据库存储引擎简介,常用引擎,引擎选择

PS:内容来自——《Mysql5.7从入门到精通》
内容是对MSSQL数据库存储引擎的概念介绍以及常用的引擎特性介绍。

简介
  • 基础
    • 数据库存储引擎是数据库低层软件组件,数据库管理系统(DBMS)使用数据引擎进行创建,查询,更新和删除数据操作。
    • 不同的数据的数据引擎提供不同的存储机制索引技巧锁定水平等功能。
  • 存储引擎简介
    • MYSQL提供的存储引擎,分为处理事务安全表的引擎和处理事务非安全表的引擎。
    • 可以根据具体的需求对每一个表使用不同的存储引擎
    • 可以通过命令SHOW ENGINES查询支持的引擎
      • 在这里插入图片描述
分类介绍
  • InnoDB
    • InnoDB是事务型数据库的首选,支持安全事务表(ACID),支持行级锁外键。Mysql5.5.5之后,InnoDB是默认的数据库引擎。
    • 主要特性
      • InnoDB给Mysql提供了具有提交,回滚和崩溃恢复能力事务安全存储引擎。
      • SQL查询中,可以自由的将InnoDB类型的表与其他Mysql的表的类型混合。
      • InnoDB存储引擎完全与Mysql服务器整合,InnoDB为在主内存中缓存数据和索引而维持他自己的缓冲池
      • InnoDB将它的表和索引存储在一个逻辑表空间中,表空间可以包含数个文件。
      • InnoDB支持外键完整性约束。存储表中的数据的时候,每张表的存储按主键顺序存放,如果没有显示定义主键,InnoDB会为每一行自动生成一个6B的ROWID作为主键。
      • InnoDB被用在众多需要高性能的大型数据库站点上。
  • MyISAM
    • 基于ISAM,并对其进行扩展。具备较高的插入,查询速度,但不支持事务
    • 主要特性
      • 大文件(达63位文件长度)在支持大文件的文件系统和操作系统上被支持。
      • 当把删除,更新及插入操作混合使用的时候,动态尺寸的行产生更少的碎片。
      • 每个MyISAM表最大索引数是64,可以通过重新编译来改变。
      • 最大键长度为1000B,也可以通过编译来改变。
      • BLOB和TEXT列可以被索引
      • NULL值允许在索引的列中。
      • 每个表一个AUTO_INCREMENT列的内部处理。MyISAM为INSERT和UPDATE操作自动更新这一列。
      • 可以把数据文件和索引文件存放在不同的目录。
      • 每个字符列可以有不同的字符集
      • 有VARCHAR的表,可以固定或动态记录长度。
      • VARCHAR和CHAR列最多可达到64KB。
  • MEMORY
    • 将表中的数据存储到内存中,为查询和引用其他表数据提供快速访问。不支持事务
    • 主要特性
      • MEMROY表的每个表可以多达32个索引,每个索引16列,以及500B的最大键长度。
      • MEMORY存储引擎执行HASH和BTREE索引
      • 可以在一个MEMORY表中有一个非唯一键。
      • MEMORY表使用一个固定的记录长度格式。
      • MEMORY不支持BLOB和TEXT列
      • 支持AUTO_INCREMENT列和对包含NULL值的列索引。
      • MEMORY表在所有客户端之间共享。
      • 当不需要MEMORY表的内容时,要释放被MEMORY表使用的内存,应该执行DELETE FROM或TRUNCATE TABLE或删除整个表DROP。
  • 存储引擎的比较与选择
    • 在这里插入图片描述
    • 事务需求,并发控制----->InnoDB
    • 主要用来查询和插入(少修改),不要求事务----->MyISAM
    • 临时存储,数据量不大,无事务要求---->Memory
    • 只有INSERT和SELECT,高并发插入,不要求事务(类似数据归档操作)----->Archive

PS:这次只做了搬运工,备忘。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
编译原理是计算机专业的一门核心课程,旨在介绍编译程序构造的一般原理和基本方法。编译原理不仅是计算机科学理论的重要组成部分,也是实现高效、可靠的计算机程序设计的关键。本文将对编译原理的基本概念、发展历程、主要内容和实际应用进行详细介绍编译原理是计算机专业的一门核心课程,旨在介绍编译程序构造的一般原理和基本方法。编译原理不仅是计算机科学理论的重要组成部分,也是实现高效、可靠的计算机程序设计的关键。本文将对编译原理的基本概念、发展历程、主要内容和实际应用进行详细介绍编译原理是计算机专业的一门核心课程,旨在介绍编译程序构造的一般原理和基本方法。编译原理不仅是计算机科学理论的重要组成部分,也是实现高效、可靠的计算机程序设计的关键。本文将对编译原理的基本概念、发展历程、主要内容和实际应用进行详细介绍编译原理是计算机专业的一门核心课程,旨在介绍编译程序构造的一般原理和基本方法。编译原理不仅是计算机科学理论的重要组成部分,也是实现高效、可靠的计算机程序设计的关键。本文将对编译原理的基本概念、发展历程、主要内容和实际应用进行详细介绍编译原理是计算机专业的一门核心课程,旨在介绍编译程序构造的一般原理和基本

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值