MYSQL----存储引擎

个人学习笔记不喜勿喷,有不好的地方请指正!!!

一.MYSQL体系结构

连接层:最上层是一些客户端和链接服务,主要完成一些类似连接处理,授权认证,及相关的安全方案,服务器也会为安全接入的每个客户端验证它所具有的操作权限

服务层:第二层架构主要完成大多数核心服务功能,如sql接口,并完成缓存的查询,sql 的分析和优化,部分内置函数的执行,所有跨存储引擎的功能也在这一层实现,如过程,函数等.

引擎层:存储引擎真正的负责了Mysql中数据存储和提取,服务器通过API和存储引擎进行通信,不同的存储引擎具有不同的功能,这样我们可以根据自己的需要,来选取合适的存储引擎

存储层:主要是将数据存储在文件系统之上,并完成与存储引擎的交互.

二 .存储引擎

介绍:存储数据,建立索引,更新/查询数据等技术的实现方式,存储引擎是局域表的,而不是基于库的,所以存储引擎可被称为表类型

1. 在创建表时,指定存储引擎

Create table 表名(

     ......

)engine = innodb[comment 表注释];

2. 查询当前数据库所支持的存储引擎

Show engines;

3.InnoDB引擎

介绍:InnoDB是一种兼顾高可靠性和高性能的通用存储引擎在MySQL5.5之后,InnoDB是默认的Mysql存储引擎

特点:DML操作遵循ACID模型,支持事务

 行级锁,提高并发访问性能;

 支持外键foreign key 约束,保证数据的完整性和正确性;

(1)文件:

Xxx.idb:xxx代表是表名,inoodb引擎的每张表都会对应这样一个表空间文件,存储该表的表结构(frm,sdi),数据和索引. 参数:innodb_file_per_tbale参数开启表示每一个表都有一个表空间

通过 show variables like ‘innodb_file_per_table’查看;通过idb2sdi 表名.idb返回json数据

(2)逻辑存储结构

TableSpece:表空间>>>segment:段>>>extent:区>>>page页(索引页,数据页)>>>row行(最后一次操作失误的id ,指针,字段)

页是磁盘操作的最小单元,一个区的大小是1M,一个也的大小是16k,一个区中有64个页

4. MyISAM引擎

介绍:MyISAM是Mysql早期的默认存储引擎.

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

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

5. Memory引擎

介绍:Memory引擎的表数据时存储在内存中的,由于受到硬件问题,或断电问题的影响,只能将这些表作为临时表或缓存使用

特点:内存存放(快) hash索引(默认)

文件:xxx.sdi表结构信息

6.存储引擎选择

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值