Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
檀越@新空间
Coding Tree
提交
a51ee7ac
C
Coding Tree
项目概览
檀越@新空间
/
Coding Tree
通知
2
Star
0
Fork
0
代码
文件
提交
分支
Tags
贡献者
分支图
Diff
Issue
0
列表
看板
标记
里程碑
合并请求
0
DevOps
流水线
流水线任务
计划
Wiki
0
Wiki
分析
仓库
DevOps
项目成员
Pages
C
Coding Tree
项目概览
项目概览
详情
发布
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
Issue
0
Issue
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
Pages
DevOps
DevOps
流水线
流水线任务
计划
分析
分析
仓库分析
DevOps
Wiki
0
Wiki
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
创建新Issue
流水线任务
提交
Issue看板
提交
a51ee7ac
编写于
4月 21, 2022
作者:
彭世瑜
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
fix
上级
f83eef1f
变更
4
隐藏空白更改
内联
并排
Showing
4 changed file
with
116 addition
and
4 deletion
+116
-4
blog/mysq-advance/engine.md
blog/mysq-advance/engine.md
+111
-0
blog/mysq-advance/img/逻辑存储结构.jpg
blog/mysq-advance/img/逻辑存储结构.jpg
+0
-0
blog/mysq-advance/index.md
blog/mysq-advance/index.md
+4
-3
blog/php-basic/index.md
blog/php-basic/index.md
+1
-1
未找到文件。
blog/mysq-advance/engine.md
浏览文件 @
a51ee7ac
...
@@ -2,9 +2,13 @@
...
@@ -2,9 +2,13 @@
# 1、存储引擎
# 1、存储引擎
## 1. MySQL体系结构
## 1. MySQL体系结构
-
连接层
-
连接层
-
服务层
-
服务层
-
引擎层
-
引擎层
-
存储层
-
存储层


...
@@ -28,6 +32,22 @@ create table 表名(
...
@@ -28,6 +32,22 @@ create table 表名(
```
sql
```
sql
show
engines
;
show
engines
;
+
--------------------+---------+----------------------------------------------------------------+--------------+------+------------+
|
Engine
|
Support
|
Comment
|
Transactions
|
XA
|
Savepoints
|
+
--------------------+---------+----------------------------------------------------------------+--------------+------+------------+
|
ARCHIVE
|
YES
|
Archive
storage
engine
|
NO
|
NO
|
NO
|
|
BLACKHOLE
|
YES
|
/
dev
/
null
storage
engine
(
anything
you
write
to
it
disappears
)
|
NO
|
NO
|
NO
|
|
MRG_MYISAM
|
YES
|
Collection
of
identical
MyISAM
tables
|
NO
|
NO
|
NO
|
|
FEDERATED
|
NO
|
Federated
MySQL
storage
engine
|
NULL
|
NULL
|
NULL
|
|
MyISAM
|
YES
|
MyISAM
storage
engine
|
NO
|
NO
|
NO
|
|
PERFORMANCE_SCHEMA
|
YES
|
Performance
Schema
|
NO
|
NO
|
NO
|
|
InnoDB
|
DEFAULT
|
Supports
transactions
,
row
-
level
locking
,
and
foreign
keys
|
YES
|
YES
|
YES
|
|
MEMORY
|
YES
|
Hash
based
,
stored
in
memory
,
useful
for
temporary
tables
|
NO
|
NO
|
NO
|
|
CSV
|
YES
|
CSV
storage
engine
|
NO
|
NO
|
NO
|
+
--------------------+---------+----------------------------------------------------------------+--------------+------+------------+
9
rows
in
set
(
0
.
05
sec
)
```
```
示例1、创建表 my_myisam ,指定MyISAM存储引擎
示例1、创建表 my_myisam ,指定MyISAM存储引擎
...
@@ -47,3 +67,94 @@ create table my_memory(
...
@@ -47,3 +67,94 @@ create table my_memory(
name
varchar
(
10
)
name
varchar
(
10
)
)
engine
=
MEMORY
)
engine
=
MEMORY
```
```
## 3、存储引擎特点
### 3.1、InnoDB
兼顾高可靠性和高性能的通用存储引擎
MySQL > 5.5 默认引擎InnoDB
1、特点
1.
DML 操作遵循ACID模型,支持
`事务`
2.
`行级锁`
,提高并发访问性能
3.
支持
`外键`
foreign key 约束,保证数据的完整性和正确性
2、文件
-
表名.idb 表空间文件包含:结构、数据、索引
```
sql
-- 开启参数后,每个表的数据单独保存
show
variables
like
'innodb_file_per_table'
;
```
查看表结构
```
bash
$
ibd2sdi 表名.idb
```
逻辑存储结构
-
表空间 tablespace
-
段 segment
-
区 extent 1M = 64页
-
页 page 16k
-
行 row

### 3.2、MyISAM
MySQL早期的存储引擎
1、特点
1.
不支持事务,不支持外键
2.
支持表锁,不支持行锁
3.
访问速度快
2、文件
-
.sdi 存储表结构信息
-
.myd 存储数据
-
.myi 存储索引
### 3.3、Memory
表数据存储在内存中,由于收到硬件问题,或者断电问题的影响,只能将这些表作为临时表或缓存使用
1、特点
1.
内存存放
2.
hash索引(默认)
2、文件
-
*
.sdi 存储表结构信息
特点 | InnoDB | MyISAM | Memory
-
| - | - | -
存储限制 | 64TB | 有 | 有
事务安全 |
`支持`
| - | -
锁机制 |
`行锁`
| 表锁 | 表锁
B+tree索引| 支持 | 支持 | 支持
Hash索引 | - | - | 支持
全文索引 支持(>5.6版本)| 支持 | -
空间使用 | 高 | 低 | N/A
内存使用 | 高 | 低 | 中等
批量插入速度 | 低 | 高 | 高
支持外键 |
`支持`
| - | -
## 4、存储引擎选择
-
InnoDB 事务的完整性要求较高,并发条件下要求数据的一致性,数据除了插入和查询,还有更新和删除操作(默认)
-
MyISAM 读取和插入为主,只有很少的更新和删除操作,对事务的完整性、并发性要求不高(MongoDB)
-
Memory 访问速度快,通常用于临时表及缓存,对表的大小有限制,无法保障数据的安全性(Redis)
blog/mysq-advance/img/逻辑存储结构.jpg
0 → 100644
浏览文件 @
a51ee7ac
115.1 KB
blog/mysq-advance/index.md
浏览文件 @
a51ee7ac
...
@@ -2,13 +2,13 @@
...
@@ -2,13 +2,13 @@
视频:
[
黑马程序员 MySQL 数据库入门到精通,从 mysql 安装到 mysql 高级
](
https://www.bilibili.com/video/BV1Kr4y1i7ru
)
视频:
[
黑马程序员 MySQL 数据库入门到精通,从 mysql 安装到 mysql 高级
](
https://www.bilibili.com/video/BV1Kr4y1i7ru
)
MySQL 基础篇
###
MySQL 基础篇
-
约束
-
约束
-
函数
-
函数
-
事务
-
事务
MySQL 进阶篇
###
MySQL 进阶篇
[
1. 存储引擎
](
blog/mysq-advance/engine.md
)
[
1. 存储引擎
](
blog/mysq-advance/engine.md
)
...
@@ -19,7 +19,8 @@ MySQL 进阶篇
...
@@ -19,7 +19,8 @@ MySQL 进阶篇
6.
InnoDB 引擎
6.
InnoDB 引擎
7.
MySQL 管理
7.
MySQL 管理
https://www.bilibili.com/video/BV1Kr4y1i7ru?p=61&spm_id_from=pageDriver
https://www.bilibili.com/video/BV1Kr4y1i7ru?p=65&spm_id_from=pageDriver
3.
存储引擎特点
3.
存储引擎特点
4.
存储引擎选择
4.
存储引擎选择
...
...
blog/php-basic/index.md
浏览文件 @
a51ee7ac
...
@@ -22,7 +22,7 @@
...
@@ -22,7 +22,7 @@
10.
[
PHP 错误处理 error
](
blog/php-basic/error.md
)
10.
[
PHP 错误处理 error
](
blog/php-basic/error.md
)
[
PHP 字符串 String
](
blog/php-basic/string.md
)
11.
[
PHP 字符串 String
](
blog/php-basic/string.md
)
[
PHP 数组 array
](
blog/php-basic/array.md
)
[
PHP 数组 array
](
blog/php-basic/array.md
)
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录