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
创建时指定存储引擎
create table man_all(id int,name varchar(20))engine=merge union=(man1,man2) insert_methos=last;
- 【Leetcode 70】关关的刷题日记68 – Leetcode 70 Climbing Stairs
- Linq 集合操作
- 【Leetcode 198】关关的刷题日记69 – Leetcode 198 House Robber
- 【关关的刷题日记60】Leetcode 437. Path Sum III
- Easyui DataGrid DateRange Filter 漂亮实用的日期区间段筛选功能
- Python黑帽编程2.3 字符串、列表、元组、字典和集合
- AssemblyExecuteAdapter
- MySQL入门学习笔记——七周数据分析师实战作业
- 左手用R右手Python系列——七周数据分析师学习笔记R语言、Python版
- Python Numpy学习教程(一)Python篇
- MySQL数据库基础——本地文件交互
- 左手用R右手Python系列之——noSQL基础与mongodb入门
- 左手用R右手Python系列之——数据框与apply向量运算
- 左手用R右手Python系列之——迭代器与迭代对象
- MySQL 教程
- MySQL 安装
- MySQL 管理与配置
- MySQL PHP 语法
- MySQL 连接
- MySQL 创建数据库
- MySQL 删除数据库
- MySQL 选择数据库
- MySQL 数据类型
- MySQL 创建数据表
- MySQL 删除数据表
- MySQL 插入数据
- MySQL 查询数据
- MySQL where 子句
- MySQL UPDATE 查询
- MySQL DELETE 语句
- MySQL LIKE 子句
- mysql order by
- Mysql Join的使用
- MySQL NULL 值处理
- MySQL 正则表达式
- MySQL 事务
- MySQL ALTER命令
- MySQL 索引
- MySQL 临时表
- MySQL 复制表
- 查看MySQL 元数据
- MySQL 序列 AUTO_INCREMENT
- MySQL 处理重复数据
- MySQL 及 SQL 注入
- MySQL 导出数据
- MySQL 导入数据
- MYSQL 函数大全
- MySQL Group By 实例讲解
- MySQL Max()函数实例讲解
- mysql count函数实例
- MYSQL UNION和UNION ALL实例
- MySQL IN 用法
- MySQL between and 实例讲解