内容学习自: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条)