1 mysql数据库存储引擎概念
存储引擎就是数据库服务中的文件系统,用户可以根据应用的需要选择如何存储和索引数据,是否使用事务等;
2数据库存储引擎种类
在各种版本的数据库服务中,是有多种存储引擎可以应用的,以MySQL数据库服务为例,可以使用命令查看可以应用存储引擎:
mysql> show engines;
在实际场景中,99.9%都是使用innodb存储引擎,并且在最新版8.0数据库中,所有mysql数据库中的表对应的引擎也都改为了innodb;
3 数据库存储引擎特性
在数据库服务领域,大部分场景下都会使用innodb存储引擎,是因为innodb存储引擎具有一定优秀特性:
序号 | 特性 | 解释说明 |
---|---|---|
01 | 数据访问特性 | 支持多版本并发控制特性(MVCC),支持行级锁控制并发 |
02 | 数据索引特性 | 支持聚簇索引/辅助索引特性,可以组织存储数据和优化查询(IOT) |
03 | 数据事务特性 | 支持事务概念特性,可以实现数据的安全保证 |
04 | 数据缓冲特性 | 支持多缓冲区功能,自适应hash索引(AHI) |
05 | 数据迁移特性 | 支持复制数据中的高级功能特性,支持数据备份恢复的热备 |
06 | 服务自愈特性 | 支持自动故障恢复(CR-Crash Recovery) |
07 | 数据存储特性 | 支持数据双写机制(Double write) 数据存储有关的安全机制 |
如果在面试环节中,面试官询问你:
InnoDB核心特性有哪些,以及与MyISAM存储引擎之间的区别:
InnoBD支持:事务、mvcc、聚簇索引、外键、缓冲区、AHI、DW;MyISAM均不支持
InnoDB支持:行级锁,MyISAM只支持表级锁;
InnoDB支持:数据热备,可以保证业务正常运行,对业务影响低,MyISAM只支持温备份,需要锁表备份;
InnoDB支持:支持CR自动故障恢复,宕机自动恢复,数据安全和一致性可以得到保证;MyISAM不支持,宕机可能丢失当前数据;
欢迎来撩 : 汇总all