mysql存储引擎
来源:互联网 发布:linux挂载samba共享 编辑:程序博客网 时间:2024/06/09 18:31
一. 简介
mysql支持多种存储引擎,什么是存储引擎,我猜就是底层存储数据的方式。每一种存储引擎都有各自的优缺点,比如InnoDB和BDB支持事务,其他的不支持。目前mysql支持的存储引擎如下所示:MyISAM,InnoDB, BDB,MEMORY,MERGE,EXAMPLE,ARCHIVE等。创建表的时候,如果不指定存储引擎,会选择默认的。mysql5.5之前,默认是MyISAM,5.5及以后,默认是InnoDB。
二. 存储引擎级别
存储引擎是表级别的,可以给每一个表设置单独的存储引擎。数据库级别可以看支持哪些存储引擎
三. 存储引擎对比
特点MyISAM InnoDBMEMORYMERGENDB存储限制有 64TB有没有 有 事务安全 支持 锁机制表锁行锁表锁表锁行锁B树索引支持支持支持支持支持哈希索引 支持 支持全文索引支持 数据缓存 支持支持 支持批量插入速度高低高 高高支持外键 支持下面主要介绍MyISAM,InnoDB,MEMORY
3.1 MyISAM
MyISAM不支持事务,不支持外键。优势:访问速度快。如果应用主要select,insert为主,不要求事务,可以考虑MyISAM。
每个MyISAM在磁盘上存储3个文件,文件名和表名相同,扩展名如下:
.frm 存储表定义
.MYD 存储数据
.MYI 存储索引
数据文件和索引文件放置在不同目录,平均IO,可以获得更好速度
3.2 InnoDB
InnoDB支持事务,外键。相比MyISAM,写入效率要差一些,因为支持事务等,需要写入更多的数据,以保障安全。这样,也会占用更多的磁盘,存储索引和数据。
3.3 MEMORY
MEMORY创建的表,数据存放在内存中,速度非常快,采用Hash索引,但服务一单关闭,数据就会丢失
四. 如何选择合适的存储引擎
MyISAM:如果应用是查询和插入为主,很少更新和删除,并且对于事务的安全性,并发性要求不高,可以选择。主要用于数据仓库
InnoDB:支持事务,行锁,安全兼顾速度。适合OLTP系统(实时系统)
- 【MySQL】MySQL存储引擎
- 【MySQL】MySQL存储引擎
- mysql federated存储引擎引擎
- MySQL的存储引擎
- 1.5. MySQL存储引擎
- mysql存储引擎
- MySQL 存储引擎
- MySQL存储引擎
- Mysql的存储引擎
- MySQL存储引擎
- MySQL存储引擎-应用
- mysql存储引擎
- MySQL存储引擎认知
- MySQL存储引擎选择
- mysql archive存储引擎
- MySQL存储引擎
- Mysql数据库存储引擎
- mysql存储引擎比较
- Java 调用存储过程
- 微信登录
- 日期计算
- 洛谷 P1626 象棋比赛
- 操作Excel工具类之基于Apache的POI类库
- mysql存储引擎
- bzoj1030(dp+自动机)
- 深度学习之参数初始化(一)——Xavier初始化
- C++编程经验-返回局部变量的讨论
- (二)Java中Socket的用法-读书笔记
- Python下Fabric的使用
- final关键字在Java中的具体用法总结
- 机器学习中特征选择概述
- Codevs1515 跳