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

内容学习自: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:将数据保存在内存中,访问速度快,临时表可以使用

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值