mysql存储引擎
2022-01-18 14:07:25 0 举报
AI智能生成
mysql存储引擎
作者其他创作
大纲/内容
Memory
特点
数据表存放在内存中,如果数据库重启或发生崩溃,表中的数据都将会消失
适合用于存储临时数据的临时表,以及数据仓库中的纬度表
用的hash索引
缺点
只支持表锁,并发性能较差
不支持TEXT和BLOB列类型
存储变长字段varchar时是按定长字段char的方式进行的,浪费内存
Archive
特点
只支持INSERT和SELECT操作,5.1版本开始支持索引
使用zlib算法将数据行进行压缩后存储,压缩比例可达1:10
非常适合存储归档数据,如日志信息
Federated
特点
不存放数据,只是指向一台远程的MYSQL数据库服务器上的表
Maria
用来取代MyISAM
缓存数据和索引文件
行锁设计
提供MVCC功能
支持事务和非事务安全的选项支持
更好的BLOB字符类型的处理
InnoDB存储引擎
特点
行锁设计
支持外键
支持类似Oracle的非锁定读,即默认情况下读取操作不会产生锁
支持事务,主要面向在线事务处理(OLTP)方面的应用
可以将每个innoDB存储引擎的表单独存放在一个独立的ibd文件
高并发性
通过多版本并发控制(MVCC)来获得高并发性
隔离机制
四大特性
插入缓冲
二次写
自适应哈希
预读
MyISAM
特点
不支持事务
表锁
全文索引
对于一些OLAP(在线分析处理)操作速度快
物理存放
MYD用来存放数据文件
MYI用于存放索引文件
mysql数据库只缓存其索引文件
NDB
特点
是一个集群存储引擎
高可用,高性能
数据全部都放在内存中,从5.1版本开始,可以将非索引数据放在磁盘上,因此主键查找的速度非常快
问题
连接操作在mysql数据库层完成,而不是在存储引擎层完成,这意味着复杂的连接操作需要巨大的网络开销,因此查询数据很慢
查看存储引擎是否开启
show engines\G;
0 条评论
下一页