前言:相当于Linux 中的文件系统,和“磁盘”。负责IO的控制(磁盘资源、内存资源、对象资源)。
查看mysql支持那些引擎 show engines;
重点是 InnoDB 引擎和MyISAM
InnoDB,不适合大批量持续的数据插入,下面是比较适合大数据插入的引擎介绍:
percona MariaDB等产品可能会用到的存储引擎。
rocksdb —-> LSM TREE —-> TiDB
1.InnoDB引擎核心特性介绍:
MVCC : 多版本并发控制
聚簇索引 : 用来组织存储数据和优化查询
支持事务 : 数据最终一致提供保证
支持行级锁 : 并发控制
外键 : 多表之间的数据一致一致性
多缓冲区支持
自适应Hash索引: AHI
复制中支持高级特性。
备份恢复: 支持热备。
自动故障恢复:CR Crash Recovery
双写机制 : DWB Double Write Buffer
MyISAM和InnoDB的区别,InnoDB的特性就是MyISAM 没有的
如何创建InnoDB引擎语法介绍:
create table xxx (id int) engine=innodb charset=utf8mb4; #创建表的时候指定引擎和字符集
alter table world.xxx engine=innodb; ##修改某个表的存储引擎
select table_schema,table_name,engine from information_schema.tables where table_schema=’world’ ##查看world库下所有表的存储引擎
