一,基础

1,插件式存储引擎,允许第三方组织,根据其api来设计,很多功能需要依赖引擎支持,比如事务

2, 5.5以后默认为innodb,之前为myISAM,innodb支持事务,myISAM不支持

3,存储引擎是表级别的概念,同一个库不建议多个引擎

二,InnoDB

1,处理大量的短期事务

2,数据存储于"表空间(table space)"中

3,所有InnoDB表的数据放置于同一个表空间中 datadir 下 ibddata(多个)

4,每个表单独使用一个表空间存储表的数据和索引 innodb_file_per_table = ON(3,4建议选择4,建议开启此项)

5,每个表使用单独表空间时,数据文件(数据和索引):tb1_name.ibd

#例如

[root@node1 mysql]# ls mydb/

db.opt t1.frm t1.ibd t2.frm t2.ibd

#frm 表格式定义文件

#ibd 数据文件

6,基于mvcc机制,并发控制,支持较高并发,支持所有的四个事务隔离级别,默认级别为REPEATABLE READ,通过间隙锁仿制幻读的出现

7,使用聚集索引,支持自适应hash索引

8,在MariaDB(XtraDB) 是对于Innodb大量改进后,整合社区的力量,有percona提供,虽然显示为innodb 其实为XtraDB,开源

9,性能:预计操作,自适应hash,插入缓存区

10,备份:支持热备,(xtrabacup)

11,锁粒度:行级别锁

12,崩溃后安全恢复

三,MyISAM

1,支持全文索引(FULLTEXT index),压缩,空间函数,不支持事务

2,锁粒度:表级别锁

3,崩溃后无法安全恢复

4,在mariadb中对其进行改进为Aria,支持崩溃后恢复

5,使用场景:只读(写较少),表较少,可以接受长时候恢复操作

6,文件:.frm 表格式定义,MYD:数据文件,MYI:索引文件

7,支持压缩表

ps:查看表使用的引擎,show status table;

ps:行格式:dynamic,fixed,compressed,compact,redundent

四,其他存储引擎

1,CSV:将普通的CSV(字段通过逗号分隔)作为mysql表使用,方便不同数据库软件中导入导出

2,MRG_MYISAM:将多个MyISAM表合并成一个虚表

3,BLACKHOLE:类似于/dev/null 多级级联复制时有用

4,MEMORY:存内存,适用临时表,中间数据,数据不关键的,支持哈希索引,表级锁,mysql临时表默认为memory,如果临时表空间不够,则会存储在磁盘上,导致性能下降,可以调整临时表空间大小。

5,PERFORMANCE_SCHENA:伪存储引擎,数据为mysql运行产生的数据,如果mysql没开启,此表为空

6,ARCHIVE:只支持select和insert,支持行级锁和专用缓存区,归档可以使用

7,FEDERATED:用于访问其他远程mysql服务器一个代理,他通过创建一个到远程MYSQL服务器的客户端连接,并将查询传输到远程服务器执行,而后完成数据存取,在MariaDB中实现的为FederatedX

五,MariaDB支持的其他存储引擎

1,OQGraph

2,SphinxSE

3,TokuDB

4,Cassandra

5,CONNECT

6,SQUENCE

mysql存储引擎简书_MySQL存储引擎详解相关推荐

  1. mysql 覆盖索引 简书_mysql覆盖索引与回表

    select id,name where name='shenjian' select id,name,sex* where name='shenjian'* 多查询了一个属性,为何检索过程完全不同? ...

  2. mysql如何查看事务日记_MySQL日志查看详解

    解决问题: 了解MySQL日志? 怎样查看错误日志? 怎样查看慢日志? 1. MySQL日志分类? MySQL日志主要包含:错误日志.查询日志.慢查询日志.事务日志.二进制日志. 1.1 错误日志: ...

  3. mysql单表查询实例_MySQL简单查询详解-单表查询

    MySQL简单查询详解-单表查询 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 一.查询的执行路径 一条SQL查询语句的执行过程大致如下图所示: 1>.客户端和服务端通过my ...

  4. mysql主从复制原理 简书_mysql主从复制,从原理讲到安装配置,全干货

    0.为什么需要主从复制? 1.在业务复杂的系统中,有这么一个情景,有一句sql语句需要锁表,导致暂时不能使用读的服务,那么就很影响运行中的业务,使用主从复制,让主库负责写,从库负责读,这样,即使主库出 ...

  5. mysql存储过程写法简书_Mysql存储过程

    存储过程简介 SQL语句需要先编译然后执行,而存储过程(Stored Procedure)是一组为了完成特定功能的SQL语句集,经编译后存储在数据库中,用户通过指定存储过程的名字并给定参数(如果该存储 ...

  6. mysql性能优化简书_MySQL性能优化

    1.合理的创建及使用索引,索引不宜过多,过多的索引会占用更多的空间,而且每次增.删.改操作都会重建索引. 2.合理的冗余字段(尽量建一些大表,考虑数据库的三范式和业务设计的取舍). 3.select语 ...

  7. mysql slave 线程 简书_MySQL主从复制(Master-Slave)实践

    MySQL数据库自身提供的主从复制功能可以方便的实现数据的多处自动备份,实现数据库的拓展.多个数据备份不仅可以加强数据的安全性,通过实现读写分离还能进一步提升数据库的负载性能. 下图就描述了一个多个数 ...

  8. MySQL的explain简书_MySQL Explain

    慢日志 数据库开启慢查询记录执行时间比较久的SQL语句 mysql> SHOW VARIABLES LIKE "%slow%"; +--------------------- ...

  9. mysql主从配置 简书_Mysql主从配置,实现读写分离-Go语言中文社区

    转载:https://www.cnblogs.com/alvin_xp/p/4162249.html 大型网站为了软解大量的并发访问,除了在网站实现分布式负载均衡,远远不够.到了数据业务层.数据访问层 ...

最新文章

  1. CPU亲和性的使用与机制--含Xen中VCPU和PCPU的綁定方法
  2. python三维图旋转_SciPyTutorial-图像的矩阵旋转变换
  3. opencv undefined reference to symbol '_ZN2c...异常
  4. Docker源码分析(十一):镜像存储
  5. mq同步mysql数据 duplicate entry_MySQL数据同步之otter
  6. 深入浅出理解 Spark:环境部署与工作原理
  7. java 中时间计算_java中关于时间的计算
  8. 使用Dozer框架进行Bean操作
  9. *【牛客 1 - A】矩阵(字符串hash)
  10. STM32复位源判断
  11. 是德科技Keysight|日置Rigol数据采集器自动计量校准软件NSAT-3070
  12. 工业物联网的体系架构
  13. CTC blank 理解
  14. oracle 报表聚合,Oracle很实用的汇总报表实现方式!grouping_id
  15. 2017-9-13 NOIP模拟赛[xxy]
  16. Java实现读Chuck数据
  17. postman 安装失败 Failed to install the .NET Framework, try installingthe latest version manully
  18. date在java中是什么类型_java中date 是什么类型
  19. Android 伪造短信
  20. vue-cli3 接口api代理 308 Permanent Redirect

热门文章

  1. python方格染色_判定二部图的着色算法(Python),题,染色法,判断,二分
  2. python基础教程:对可变对象和不可变对象的详解
  3. Python字典循环与字典排序
  4. Python四道面试题
  5. mysql利用cpu率高_MySQL高CPU使用率
  6. php获取上海时间代码,PHP获取星期的方法及代码
  7. linux nfs 权限设置,Linux NFS server 配置
  8. 什么是序列化?python pickle模块
  9. python 终端打印表格--------pylsy 源码
  10. web服务器配置(静态页面)