数据库进阶学习:存储引擎

数据库进阶学习:存储引擎,第1张

内容学习自:itcast黑马程序员

  • 连接层:最上层是一些客户端和链接服务,主要完成一些类似于连接处理、授权认证、及相关的安全方案。服务器也会为安全接入的每个客户端验证它所具有的 *** 作权限。
  • 服务层:核心服务,接口,完成查询,分析,优化,部分内置函数执行,还有跨储存引擎的存储过程和函数
  • 引擎层:负责数据的存储和提取,通过API和引擎进行通信
  • 存储层:将数据存储在文件系统上,完成与存储引擎的交互

储存引擎:

也可称为表类型,因为是存储数据,建立缩影,更新查询的实现方式,是基于表结构的,MYSQL默认用innodb

#建表引擎
create table name(
    字段 字段类型[comment 注释]
)engine = innodb;
#查看支持引擎
show engines;

innodb引擎:
特点:DML遵循ACID,支持事务

行级锁,提高访问性能

支持外键约数,保证完整性正确性

文件:

Xxx.ibd∶xxx代表的是表名,innoDB引擎的每张表都会对应这样一个表空间文件,存储该表的表结构(frm、sdi)、数据和索引。

参数∶innodb_file_per_table

说明每一张innodb表都有一个表空间

 逻辑存储结构:

mylsam引擎:

早期使用

特点:不支持事务,外键,支持表锁,不支持行锁,访问速度快

文件:xxx.sdi 表结构信息,xxx.MYD 数据 xxx.MYI 存储索引

 json.cn网站格式化查看sdi文件

 memory引擎:

数据存储在内存中,受到硬件,电源,等问题,一般作为临时表使用

特点:内存存放,hash索引

文件:xxx.sdi 存储表结构,只有sdi因为数据在内存中

 引擎选择:

innodb:注重功能性,支持行级锁和外键等

mylsam:以读和插入 *** 作为主时,并且对事务完整性,并发性要求不高可以选择,例如日志

memory:将数据保存在内存中,访问速度快,临时表可以使用

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/langs/730146.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-04-27
下一篇 2022-04-27

发表评论

登录后才能评论

评论列表(0条)

保存