存储引擎概念:不同的存储机制、索引技巧、锁定水平并且最终提供广泛的不同的功能和能力
关系数据库表是用于存储和组织信息的数据结构,可以将表理解为由行和列组成的表格,类似于Excel的电子表格的形式。有的表简单,有的表复杂,有的表根本不用来存储任何长期的数据,有的表读取时非常快,但是插入数据时去很差;而我们在实际开发过程中,就可能需要各种各样的表,不同的表,就意味着存储不同类型的数据,数据的处理上也会存在着差异,那么。对于MySQL来说,它提供了很多种类型的存储引擎(或者说不通的表类型),我们可以根据对数据处理的需求,选择不同的存储引擎,从而最大限度的利用MySQL强大的功能。
//查看mysql支持的存储引擎
show engines;
解释下
engine:引擎 support:支持 comment:描述 transations:事务 XA:XA就是X/Open DTP定义的交易中间件与数据库之间的接口规范
savepoints:保存点(savepoint)是事务过程中的一个逻辑点,用于取消部分事务,当结束事务时,会自动的删除该事务中所定义的所有保存点。当执行rollback时,通过指定保存点可以回退到指定的点。
介绍一:InnoDB存储引擎
描述:Supports transactions, row-level locking, and foreign keys
解释:mysql默认的支持事务、行级锁定和外键存储引擎,最为强大,运用也最广
介绍二:Federated存储引擎
描述:Federated MySQL storage engine
解释:联合MySQL存储引擎,默认关闭但可以开启,自行百度
介绍三:MRG_MYISAM存储引擎
描述:Collection of identical MyISAM tables
解释:相同myisam表的集合
介绍四:MyISAM存储引擎
描述:MyISAM storage engine
解释:Myisam存储引擎
介绍五:BLACKHOLE存储引擎
描述:/dev/null storage engine (anything you write to it disappears)
解释:dev/null存储引擎(写入它的任何内容都将消失)
介绍六:MEMORY存储引擎
描述:基于哈希,存储在内存中,对临时表很有用
介绍七:PERFORMANCE_SCHEMA
MySQL Performance Schema 用于监视MySQL服务器,且运行时消耗很少的性能。Performance Schema 收集数据库服务器性能参数,并且表的存储引擎均为PERFORMANCE_SCHEMA,而用户是不能创建存储引擎为PERFORMANCE_SCHEMA的表。Performance Schema 具有以下特征:
Performance Schema 提供了一种在服务器运行时检查服务器的内部执行的方法。它使用PERFORMANCE_SCHEMA存储引擎和performance_schema数据库实现。性能模式主要关注性能数据。这与用于检查元数据的INFORMATION_SCHEMA不同。
Performance Schema 事件特定于MySQL服务器的给定实例。 Performance Schema 表被视为本地服务器,并且对其进行的更改不会被复制或写入二进制日志。
Performance Schema 中的表是内存表,不使用磁盘存储,在 datadir 的 performance_schema 目录下,只有.frm表结构文件,没有数据文件。表内容在服务器启动时重新填充,并在服务器关闭时丢弃。
数据收集是通过修改服务器源代码来实现的。 不同于其他功能(如复制或Event Scheduler),不存在与Performance Schema相关联的单独线程。
服务器监控持续不中断地进行,花费很少。 开启Performance Schema不会使服务器不可用。
从MySQL5.6开始,Performance Schema 默认打开,这里讲述一些在数据库使用当中PERFORMANCE_SCHEMA的一些比较常用的功能。具体的信息可以查看官方文档