文档章节

Mysql存储引擎

LYQ1990
 LYQ1990
发布于 2016/04/21 16:45
字数 910
阅读 23
收藏 4

 

 

一、什么是存储引擎

关系数据库表是用于存储和组织信息的数据结构,可以将表理解为由行和列组成的表格,类似于Excel的电子表格的形式。有的表简单,有的表复杂,有的表根本不用来存储任何长期的数据,有的表读取时非常快,但是插入数据时去很差;而我们在实际开发过程中,就可能需要各种各样的表,不同的表,就意味着存储不同类型的数据,数据的处理上也会存在着差异,那么。对于MySQL来说,它提供了很多种类型的存储引擎,我们可以根据对数据处理的需求,选择不同的存储引擎,从而最大限度的利用MySQL强大的功能。这篇博文将总结和分析各个引擎的特点,以及适用场合,并不会纠结于更深层次的东西。我的学习方法是先学会用,懂得怎么用,再去知道到底是如何能用的。下面就对MySQL支持的存储引擎进行简单的介绍。

二、mysql存储引擎

1mysql5.5之前默认存储引擎MyISAMmysql5.5之后改为InnoDB(支持事务,最常用)

2、使用以下命令可以查看MySQL支持的引擎

show engines;

三、mysql常用存储引擎的特点

1、MyISAM

MyISAM表无法处理事务,这就意味着有事务处理需求的表,不能使用MyISAM存储引擎。MyISAM存储引擎特别适合在以下几种情况下使用:

(1)选择密集型的表。MyISAM存储引擎在筛选大量数据时非常迅速,这是它最突出的优点。
2)插入密集型的表。MyISAM的并发插入特性允许同时选择和插入数据。例如:MyISAM存储引擎很适合管理邮件或Web服务器日志数据。

2、InnoDB

InnoDB是一个健壮的事务型存储引擎,这种存储引擎已经被很多互联网公司使用用于事务处理应用程序,具有众多特性,包括ACID事务支持。一般在以下几种情况下使用InnoDB存储引擎:

(1)更新密集的表。InnoDB存储引擎特别适合处理多重并发的更新请求。
2)事务。InnoDB存储引擎是支持事务的标准MySQL存储引擎。
3)自动灾难恢复。与其它存储引擎不同,InnoDB表能够自动从灾难中恢复。
4)外键约束。MySQL支持外键的存储引擎只有InnoDB
5)支持自动增加列AUTO_INCREMENT属性。

3、BDB

可替代InnoDB的事务引擎,支持COMMITROLLBACK和其他事务特性。

4、Memory

将所有数据保存在RAM中,在需要快速查找引用和其他类似数据的环境下,可提供极快的访问。

5、Merge

允许MySQL DBA或开发人员将一系列等同的MyISAM表以逻辑方式组合在一起,并作为1个对象引用它们。对于诸如数据仓储等VLDB环境十分适合。

6、Archive

为大量很少引用的历史、归档、或安全审计信息的存储和检索提供了完美的解决方案。

四、如何选择合适的存储引擎?
(1)选择标准可以分为:
2)是否需要支持事务;
3)是否需要使用热备;
4)崩溃恢复:能否接受崩溃;
5)是否需要外键支持;
然后按照标准,选择对应的存储引擎即可。

 

© 著作权归作者所有

上一篇: Hibernate 缓存机制
下一篇: 数据库连接池
LYQ1990
粉丝 9
博文 238
码字总数 206220
作品 0
东城
私信 提问
mysql多种存储引擎

MySQL有多种存储引擎,每种存储引擎有各自的优缺点,可以择优选择使用: - MyISAM、InnoDB、MERGE、MEMORY(HEAP)、BDB(BerkeleyDB)、EXAMPLE、FEDERATED、ARCHIVE、CSV、BLACKHOLE。 - MySQ...

人情世故
2016/05/22
79
0
如何选择合适的MySQL存储引擎

MySQL有多种存储引擎: MyISAM、InnoDB、MERGE、MEMORY(HEAP)、BDB(BerkeleyDB)、EXAMPLE、FEDERATED、ARCHIVE、CSV、BLACKHOLE。 MySQL支持数个存储引擎作为对不同表的类型的处理器。MySQL...

黄平俊
2009/05/07
275
0
【超简单】MySQL存储引擎的选择与配置

【超简单】MySQL存储引擎的选择与配置 存储引擎简介 MySQL中的数据用各种不同的技术存储在文件(或内存)中。每一种技术都使用不同的存储机构,索引技巧,锁定水平并且最终提供广泛的不同的功...

漂移的兔子
2018/07/08
0
0
MySql数据库 学习记录

什么事MySQL数据库? 通常意义上,数据库也就是数据的集合,具体到计算机上数据库可以是存储器上一些文件的集合或者一些内存数据的集合。我们常说的MySQL数据库,sql server数据库等其实是数...

杨春炼
2016/12/24
37
0
MySQL 储存引擎 MyISAM 和 InnoDB 配置

MySQL 存储引擎 MyISAM 和 InnoDB 配置 MyISAM 和 InnoDB 最大特点: MyISAM : ① 不支持事务 。 ② 表级锁定形式 ,数据在更新时锁定整个表 。 ③ 不支持外键约束 ,只支持全文索引 。 ④ ...

HHHNDYD
2018/07/05
0
0

没有更多内容

加载失败,请刷新页面

加载更多

java通过ServerSocket与Socket实现通信

首先说一下ServerSocket与Socket. 1.ServerSocket ServerSocket是用来监听客户端Socket连接的类,如果没有连接会一直处于等待状态. ServetSocket有三个构造方法: (1) ServerSocket(int port);...

Blueeeeeee
今天
6
0
用 Sphinx 搭建博客时,如何自定义插件?

之前有不少同学看过我的个人博客(http://python-online.cn),也根据我写的教程完成了自己个人站点的搭建。 点此:使用 Python 30分钟 教你快速搭建一个博客 为防有的同学不清楚 Sphinx ,这...

王炳明
昨天
5
0
黑客之道-40本书籍助你快速入门黑客技术免费下载

场景 黑客是一个中文词语,皆源自英文hacker,随着灰鸽子的出现,灰鸽子成为了很多假借黑客名义控制他人电脑的黑客技术,于是出现了“骇客”与"黑客"分家。2012年电影频道节目中心出品的电影...

badaoliumang
昨天
14
0
很遗憾,没有一篇文章能讲清楚线程的生命周期!

(手机横屏看源码更方便) 注:java源码分析部分如无特殊说明均基于 java8 版本。 简介 大家都知道线程是有生命周期,但是彤哥可以认真负责地告诉你网上几乎没有一篇文章讲得是完全正确的。 ...

彤哥读源码
昨天
15
0
jquery--DOM操作基础

本文转载于:专业的前端网站➭jquery--DOM操作基础 元素的访问 元素属性操作 获取:attr(name);$("#my").attr("src"); 设置:attr(name,value);$("#myImg").attr("src","images/1.jpg"); ......

前端老手
昨天
7
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部