MySQL数据库(六):体系结构和存储引擎

一、mysql 体系结构

MySQL数据库(六):体系结构和存储引擎

连接池:内存/cpu/进程数
管理工具:提供mysql数据库服务的软件自带的命令
sql接口:传递sql命令给mysqld进程
分析器:sql命令格式是否正确,对操作的库或者表是否有使用权限
优化器:优化执行的sql语句,让系统使用最少的资源去执行sql命令
写(insert create update delete) 读(select)

缓存区:在mysql数据库服务时,会划分一定系统物理内存给mysql服务做查询缓存
存储引擎:myisam innodb
文件系统:存储设备 /var/lib/mysql/DATABASENAME/TABLENAME.{frm...}
二、mysql存储引擎

1.什么是存储引擎?
处理不类型表的处理器
不同的存储引擎有不同的功能和存储方式
在建表的时候可以指定

2.注意事项
若不设置,新建的表使用mysql服务默认使用的存储引擎。

3.存储引擎的分类
1.1 myisam
㈠存储方法
独享表空间,用不同的文件存储不同的数据.
.frm文件存表结构
.MYD存记录
.MYI存储索引

㈡功能
不支持外键,不支持事务,支持表锁
㈢应用场景
查询比较多的一般使用mysiam
1.2 innodb

㈠存储方法
共享表空间(Supports transactions, row-level locking, and foreign keys),用不同的文件存储不同的数据.

.frm存放表结构
.ibd存储索引和记录

㈡功能
支持外键,支持事务,支持事务回滚,支持行锁

㈢应用场景
写操作比较多的使用innodb

4.什么是事务
一次sql操作从开始到结束的过程

5.什么是事务回滚
若一次sql没有成功,就把sql操作的数据恢复到操作时的状态

6.锁机制
为了解决并发访问的冲突问题

1.1 读锁(共享锁)
1.2 写锁(排它锁/互斥锁)

3.例子
查看存储引擎

mysql> show engines;  查看当前数据库服务支持的存储引擎

主要使用Innodb和Myisam
MySQL数据库(六):体系结构和存储引擎

创建时指定存储引擎

create table man_all(id int,name varchar(20))engine=merge union=(man1,man2) insert_methos=last;