mysql引擎介绍
mysql存储引擎介绍:
- 插拔式的插件方式
- 存储引擎是指定在表上的,即一个库中的每一个表都可以指定专用的存储引擎
- 不管采用什么样的存储引擎,都会在数据区产生对应的一个frm文件(表结构定义描述文件)
我们都知道mysql有很多引擎比如:CSV存储引擎,Archive引擎,Memory存储引擎,MyISAM存储引擎,InnoDB存储引擎等很多引擎。今天我们主要看一下上面几个引擎。
CSV存储引擎
数据存以CSV文件
特点:
- 不能定义索引,列定义必须为NOT NULL,不能设置自增列
- CSV数据的存储用‘,’隔开,可以直接编辑CSV文件进行数据的编排(编排后要生效使用flush table **命令)
通过上面的特点可以看出: CSV存储引擎不适合大表或则数据在线处理,而且安全性低。 CSV存储引擎的应用场景为数据的快速导入导出,表格直接转换为CSV等场景。
Archive引擎
压缩协议进行数据的存储,数据存储为ARZ文件格式
特点:
- 只支持insert和select两种操作
- 只允许自增ID列建立索引
- 行级锁
- 不支持事务
- 数据占用磁盘少
适用场景:日志系统,大量的设备数据采集
Memory引擎
数据都是存在内存中,IO效率比其他引擎高,但是服务重启后数据会丢失,数据表默认只有16M
特点
- 支持hash,B TREE索引,默认为hash索引
- 字段长度是固定长度char(32)
- 不支持大数据存储类型字段如blog,text等
- 表级锁
应用场景:
- 等值查找数据。
- 查询结果在内存中计算的大多数采用这种存储引擎作为临时表存储需要计算的数据。
####Myisam Mysql5.5版本之前的默认存储引擎
特点
- select count(*) from aaa;无需进行数据扫描
- 数据和索引分开存储
- 表级锁
- 不支持事务
Innodb
Mysql5.5版本之后的默认存储引擎
特点
- 支持事务
- 行级锁定(更新时一般是锁定当前行):通过索引实现,全表扫描仍然会是锁定整个表,注意间隙锁的影响.
- 读写阻塞与事务隔离级别相关.
- 具有非常高效的缓存特性,能缓存索引,也能缓存数据.
- 聚集索引方式进行数据存储
- 所有Secondary Index 都会保存主键信息.
- 和MyISAM相比,InnoDB对于硬件资源要求比较高.
应用场景:
- 需要支持事务的业务
- 行级锁定对于高并发有很好的适应能力,但是需要保证查询是通过索引完成.
- 数据读写及更新都比较频繁的场景.
- 数据一致性要求很高的业务
- 硬件设备内存较大,可以很好利用InnoDB较好的缓存能力来提高内存利用率,尽可能减少磁盘IO的开销.
下面来看看上面几种引擎的对比
| Feature | Myisam | Memory | Innodb | Archive |
|---|---|---|---|---|
| B+ Tree | yes | yes | yes | no |
| clustered indexes | no | no | yes | no |
| compressed data | yes(note2) | no | yes | yes |
| data caches | no | no | yes | no |
| foreign key support | no | no | yes | no |
| geospatial data type support | yes | no | yes | yes |
| geospatial indexing support | yes | no | yes(note 6) | no |
| hash indexes | no | yes | no(note 7) | no |
| index caches | yes | yes | yes | no |
| locking granularity | tabl | table | row | row |
| MVCC | no | no | yes | no |
| REPLICATION SUPPORT(NOTE 1) | yes | limit(note8) | yes | yes |
| STORAGE LIMITS | 256TB | RAM | 64TB | None |
| Transactions | no | no | yes | no |
mysql引擎介绍的更多相关文章
- MySQL引擎介绍ISAM,MyISAM,HEAP,InnoDB
MySQL数据库引擎取决于MySQL在安装的时候是如何被编译的.要添加一个新的引擎,就必须重新编译MYSQL. 在缺省情况下,MYSQL支持三个引擎:ISAM.MYISAM和HEAP.另外两种类型IN ...
- MySQL数据库引擎介绍、区别、创建和性能测试的深入分析
本篇文章是对MySQL数据库引擎介绍.区别.创建和性能测试进行了详细的分析介绍,需要的朋友参考下 数据库引擎介绍 MySQL数据库引擎取决于MySQL在安装的时候是如何被编译的.要添加一个新的引擎 ...
- [转]MySQL数据库引擎介绍、区别、创建和性能测试的深入分析
本篇文章是对MySQL数据库引擎介绍.区别.创建和性能测试进行了详细的分析介绍,需要的朋友参考下 数据库引擎介绍 MySQL数据库引擎取决于MySQL在安装的时候是如何被编译的.要添加一个新的引擎 ...
- MySQL · 引擎特性 · InnoDB 事务子系统介绍
http://mysql.taobao.org/monthly/2015/12/01/ 前言 在前面几期关于 InnoDB Redo 和 Undo 实现的铺垫后,本节我们从上层的角度来阐述 InnoD ...
- MySQL数据库引擎介绍、区别
数据库引擎介绍 MySQL数据库引擎取决于MySQL在安装的时候是如何被编译的.要添加一个新的引擎,就必须重新编译MYSQL.在缺省情况下,MYSQL支持三个引擎:ISAM.MYISAM和HEAP.另 ...
- 数据库 --> MySQL存储引擎介绍
MySQL存储引擎介绍 MyISAM是MySQL的默认数据库引擎(5.5版之前),由早期的ISAM(Indexed Sequential Access Method:有索引的顺序访问方法)所改良.虽然 ...
- Mysql数据库引擎介绍--转载
引用博文链接:https:/www.cnblogs.com/zhangjinghe/p/7599988.html MYSQL数据库引擎区别详解 数据库引擎介绍 MySQL数据库引擎取决于MySQL在安 ...
- {MySQL存储引擎介绍}一 存储引擎解释 二 MySQL存储引擎分类 三 不同存储引擎的使用
MySQL存储引擎介绍 MySQL之存储引擎 本节目录 一 存储引擎解释 二 MySQL存储引擎分类 三 不同存储引擎的使用 一 存储引擎解释 首先确定一点,存储引擎的概念是MySQL里面才有的,不是 ...
- mysql 存储引擎介绍
一 存储引擎解释 首先确定一点,存储引擎的概念是MySQL里面才有的,不是所有的关系型数据库都有存储引擎这个概念,后面我们还会说,但是现在要确定这一点. 在讲清楚什么是存储引擎之前,我们先来个比喻, ...
随机推荐
- 《Python学习手册 第五版》 -第5章 数值类型
本章是承接第四章整体说明之后,将对”数值类型“展开详细的说明 数值类型这一章主要通过一下几个内容来讲解: 1.数值类型有哪些? 2.表达式运算符:有哪些?有什么规范? 3.数值的显示格式 接下来,从第 ...
- C# 把带有父子关系的数据转化为------树形结构的数据 ,以及 找出父子级关系的数据中里面的根数据Id
紧接上一篇,将List<Menu>的扁平结构数据, 转换成树形结构的数据 返回给前端 , 废话不多说,开撸! --------------------- 步骤: 1. 建 Menu ...
- 关于在osgearth 中 出现 arial.ttf : file not handled 的问题
这是由于配置osg时 freetype 插件没有配置到位. 我个人的解决方法 打开CMAKE,点击advance,不勾选OSG_TEXT_USE_FONTCONFIG. 同时将freetype路径设置 ...
- 在 Vs2013中查看类的内部布局
第一步:在Visual Studio中配置命令行环境(Command Prompt) 来自:https://blog.csdn.net/u013553529/article/details/77417 ...
- Elemetary OS deepin-wine 版 微信 和 企业微信 输入框字体显示异常解决
Elemetary OS deepin-wine 版 微信 和 企业微信 输入框字体显示异常解决 最近体验了Elementary OS 这个系统, 话说我之前都是用的Manjora 的各个桌面版, 突 ...
- FTP - File Transfer Protocol
FTP - File Transfer Protocol FTP 实际上使用了两个 TCP 链接. 一个作为控制信道用, 主要传输一些指令和响应, 比如 ACK 或 错误码. 另一个链接是数据信道, ...
- springboot 日志 logback输出
1.首先在 application,yaml中添加 logging: config: classpath:logback-spring.xml 2.之后在resources中添加 logback-sp ...
- tensorflow roadshow 全球巡回演讲 会议总结
非常荣幸有机会来到清华大学的李兆基楼,去参加 tensorflow的全球巡回.本次主要介绍tf2.0的新特性和新操作. 1. 首先,tensorflow的操作过程和机器学习的正常步骤一样,(speak ...
- Vue简介与基础
一.什么是Vue.js Vue.js 是目前最火的一个前端框架,React是最流行的一个前端框架(React除了开发网站,还可以开发手机App, Vue语法也是可以用于进行手机App开发的,需要借助于 ...
- 大数相乘----C语言
/* 大数相乘: 因为是大数,乘积肯定超出了能定义的范围,因此考虑用数组存储,定义三个数组,分别存储乘数,被乘数和积. 规则与平常手算一样,从个位开始分别与被乘数的每一位相乘,但是有一点不同的是:我们 ...