知识库链接:
D1 · 语雀
百度网盘下载链接:
链接: 百度网盘-链接不存在
提取码: xiqy
5. MySQL服务器端的逻辑架构
知识库链接:
百度网盘下载链接:
链接: 百度网盘-链接不存在
提取码: xiqy
5. MySQL服务器端的逻辑架构
存储引擎简而言之就是表的类型,他的功能事接收上层传下来的指令,然后对表中的数据进行提取或写入的操作
show engines
是查看数据库存储引擎的语句
show @@default_storage_engine
查看默认存储引擎。
MySQL8.0默认的存储引擎为InnoDB
,支持事务等操作,其他的不支持
5.5版本之前默认的存储引擎为MyISAM
,5.5之后为InnoDB
6.1. InnoDB:具备外键支持功能的事务存储引擎
所以支持事务的提交和回滚操作。
优势:1. 外键2.事务3.更新、删除4.行级锁
缺点:1. 写的处理效率差2.内存要求高(由自身数据文件决定,不同的引擎数据文件做了细分,这是造成其效率的主要原因,并且在8.0时,InnoDB的表结构和之前的不一样)
6.2. MyISAM:主要的非事务处理存储引擎
不支持事务、行级锁、外键,崩溃后无法安全恢复
访问速度快,适合只有select和insert的操作,只读应用或者以读为主的业务
6.3. 其他引擎
归档,使用于插入、查询操作,后续不支持更新操作,支持行级锁
此引擎创建的表csv_demo.CSV,可以使用excel等直接打开
create table csv_demo(id int not null,name char(20) not null) engine=csv; -- csv的引擎创建表时,字段不能为空,所以创建时,必须指定为 not null
此引擎创建的表在物理磁盘上只存在.frm的文件,而数据是存储在内存中,所以MySQL崩溃时,数据会丢失