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; 查看当前数据库服务支持的存储引擎
创建时指定存储引擎
create table man_all(id int,name varchar(20))engine=merge union=(man1,man2) insert_methos=last;
- 上一篇: MySQL数据库(五):索引
- 下一篇: MySQL数据库(七):数据导出与导入