概述
MySQL体系结构图
Innodb引擎是在mysql的5.5版本之后的默认存储引擎。
Index是在引擎层次的,不同的存储引擎index的用法不同。
存储引擎就是存储数据,建立索引,更新查询数据等技术的实现方式。
存储引擎是基于表的而不是基于数据库的,故存储引擎又叫表的类型
语法
查询当前表的存储引擎类型
show create table 表名;
指定存储引擎
create table 表名(
...
)engine=存储引擎;
查询当前数据库支持的存储引擎
show engines;
存储引擎的特点
Innodb存储引擎的特点
- DML语句支持ACID模型
- 支持事务
- 行级索引,提高了并发访问的性能
- 支持外键,确保了数据的完整性和正确性
文件组成
每一个innodb表都对应了一个 xxx.idb 文件来存储该表的结构,数据
Innodb的逻辑存储结构图
表空间-->段-->区-->页-->行
Myism存储引擎的特点
特点
- 不支持事务
- 不支持外键
- 不支持行锁
- 支持表锁
- 访问速度很快
文件组成
一共myism表有三个文件
- xxx.sdi 存储表结构信息
- xxx.myd 存储表的数据信息
- xxx.myi 存储表的索引信息
Memory存储引擎的特点
特点
- 存储所在内存当作,一般用来当临时表使用
- 支持哈希索引
文件组成
xxx.sdi 存储表的结构
三张表的区别
特点 | Innodb | MyISAM | Memory |
---|---|---|---|
存储限制 | 64TB | 有 | 有 |
事务安全 | 支持 | --- | --- |
锁机制 | 行锁 | 表锁 | 表锁 |
B+tree索引 | 支持 | 支持 | 支持 |
Hash索引 | --- | --- | 支持 |
全文索引 | 5.6版本后支持 | 支持 | --- |
空间使用 | 高 | 底 | N/A |
内存使用 | 高 | 低 | 中等 |
批量插入的速度 | 低 | 高 | 高 |
支持外键 | 支持 | --- | --- |
存储引擎的选择
Innodb引擎
- 对事物的完整性有较高要求
- 在并发条件下要求事务一致性
- 数据操作除了插入和查询外包含了大量的更新删除操作
Myism引擎
- 以读取和插入为主,只进行少量的更新和删除操作
- 对数据的完整性和事务的并发性要求不高
Memory引擎
优点
将数据存储到内存中,访问速度极快
缺点
对表的大小有限制,太大的表无法存入,数据的安全性无法保障
用途
用作临时表或者缓存
标签:存储,--,支持,MSQL,---,引擎,Innodb From: https://www.cnblogs.com/wdadwa/p/MYSQL_Learning_06.html