【学习笔记】mysql常用引擎
【学习笔记】mysql常用引擎
查看数组库支持的引擎
查看数组库支持的引擎
执行sql语句SHOW ENGINES
Engine:引擎名称
Support:mysql系统是否支持该引擎
Comment:该引擎的描述
Transactions:是否支持事务
XA:该引擎所支持的分布式是否符合XA规范
Savepoints:是否支持事务处理中的保存点
执行sql语句SHOW VARIABLES LIKE ‘have%’
Variable_name:have_后面的就是引擎名
Value:是否支持,YES支持,NO不支持,DISABLED支持单未开启
查看数组库默认使用的引擎
执行SQL语句SHOW VARIABLES LIKE ‘storage_engine%’
数据库引擎详细
MyISAM
介绍
因为不支持事务和外键,所以访问速度快,不需要联表和事务,一般以查询为主的表就用该引擎。
MyISAM的表存储成3个文件。文件的名字与表名相同。拓展名为frm、MYD、MYI。其实,frm文件存储表的结构;MYD文件存储数据,是MYData的缩写;MYI文件存储索引,是MYIndex的缩写。
详细特性
存储限制:4G(不确定)
事务安全:不支持
锁机制:表锁
B数索引:支持
哈希索引:不支持
全文索引:支持
集群索引:不支持
数据缓存:不支持
索引缓存:支持
数据可压缩:支持
空间使用:低
内存使用:低
批量插入速度:高
支持外键:不支持
InnoDB
介绍
优秀的事务机制,所以占用的磁盘空间也更多。需要经常更新删除,需要使用事务,需要并发控制的就用这个。
详细特性
存储限制:64TB
事务安全:支持
锁机制:行锁
B数索引:支持
哈希索引:不支持
全文索引:不支持
集群索引:支持
数据缓存:支持
索引缓存:支持
数据可压缩:不支持
空间使用:高
内存使用:高
批量插入速度:低
支持外键:支持
MEMORY
介绍
使用内存存储数据,速度快,但数据安全没有保障,服务器重启或者关机就会丢失。如果数据量少,需要快速访问就用这个。
MEMORY用到的很少,因为它是把数据存到内存中,如果内存出现异常就会影响数据。如果服务器重启或者关机,所有数据都会消失。因此,基于MEMORY的表的生命周期很短,一般是一次性的。
详细特性
存储限制:未知
事务安全:不支持
锁机制:表锁
B数索引:支持
哈希索引:支持
全文索引:不支持
集群索引:不支持
数据缓存:支持
索引缓存:支持
数据可压缩:不支持
空间使用:N/A
内存使用:中
批量插入速度:高
支持外键:不支持