博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Mysql存储引擎
阅读量:6888 次
发布时间:2019-06-27

本文共 1307 字,大约阅读时间需要 4 分钟。

hot3.png

 

 

一、什么是存储引擎

关系数据库表是用于存储和组织信息的数据结构,可以将表理解为由行和列组成的表格,类似于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)是否需要外键支持;
然后按照标准,选择对应的存储引擎即可。

 

转载于:https://my.oschina.net/lsl1991/blog/663914

你可能感兴趣的文章
JDK容器学习之List: CopyOnWriteArrayList,ArrayList,LinkedList对比
查看>>
JDK容器学习之LinkedHashMap (一):底层存储结构分析
查看>>
acl_cpp 编程之 xml 流式解析与创建
查看>>
Web端开发发展历程简单概述
查看>>
无聊的函数和方法之间的区别讨论
查看>>
最值得收藏的30本MySQL精品电子书
查看>>
android的消息处理机制(图+源码分析)——Looper,Handler,Message
查看>>
人脸识别 以及SoundPool 学习笔记
查看>>
内核启动过程
查看>>
王峰:数据中心全面迈入云时代
查看>>
二维码扫描和生成
查看>>
hbase-0.98整合hadoop-2.6,附java操作代码
查看>>
同一台电脑运行两个tomcat
查看>>
开源 免费 java CMS - FreeCMS1.4-功能说明-栏目管理
查看>>
Maven 是怎样创建War 包?
查看>>
Android4.2蓝牙Enable完全分析
查看>>
手动部署QtSylixOS的方法
查看>>
p6spy监控sql语句
查看>>
排序算法总结(java实现)(一.冒泡排序)
查看>>
排序算法总结(java实现)(二.插入排序)
查看>>