MySQL表的各种类型
其他
2020-11-14 10:21:47
阅读次数: 0
一、常用类型
存储引擎 |
事务 |
锁颗粒 |
主要应用 |
忌用 |
MYISAM |
不支持 |
支持并发插入的表级锁 |
SELECT,INSERT |
读写操作频繁 |
MRG_MYISAM |
不支持 |
支持并发插入的表级锁 |
分段归档,数据仓库 |
全局查找过多的场景 |
Innodb |
支持 |
支持MVCC的行级锁 |
事务处理 |
无 |
Archive |
不支持 |
行级锁 |
日志记录,只支持insert,select |
需要随机,更新,删除 |
Ndb cluster |
支持 |
行级锁 |
高可用性 |
大部分应用 |
二、特殊类型
存储引擎 |
事务 |
锁颗粒 |
主要应用 |
忌用 |
CSV |
不支持 |
支持并发插入的表级锁 |
适合做为数据交换的中间表 |
索引查询 |
BLACKHOLE |
支持所有 |
支持所有 |
用于记录binlog做复制的中继存储 |
存储数据 |
MEMORY |
不支持 |
支持并发插入的表级锁 |
数据量小、访问频繁的不重要的数据 |
数据量过大,永久存储 |
对这些常用的类型,做简单说明。
1、CSV类型
- 优点:
以CSV格式进行数据存储(逗号隔开,引号)
可以对数据文件直接编辑(保存文本文件内容)
- 缺点:
所有的列必须都是不能为NULL的
不支持索引(不适合大表,不适合在线处理)
2、MEMORY类型
- 优点:
使用内存当存储介质,优点式响应速度快
- 缺点:
进程崩溃的时数据会丢失
要求存储的是长度不变的数据
3、BLACKHOLE类型
- 优点
BLACKHOLE支持所有类型的索引
记录binlog做复制的中继存储
- 缺点
BLACKHOLE 表不存储数据,任何写入到此引擎的数据均会被丢弃掉, 不做实际存储
Insert触发器可以正常使用,Update、Delete触发器因为不存储数据不能触发
Select语句的内容永远是空
转载自blog.csdn.net/u013866352/article/details/107912675