• linkedu视频
  • 平面设计
  • 电脑入门
  • 操作系统
  • 办公应用
  • 电脑硬件
  • 动画设计
  • 3D设计
  • 网页设计
  • CAD设计
  • 影音处理
  • 数据库
  • 程序设计
  • 认证考试
  • 信息管理
  • 信息安全
菜单
linkedu.com
  • 网页制作
  • 数据库
  • 程序设计
  • 操作系统
  • CMS教程
  • 游戏攻略
  • 脚本语言
  • 平面设计
  • 软件教程
  • 网络安全
  • 电脑知识
  • 服务器
  • 视频教程
  • MsSql
  • Mysql
  • oracle
  • MariaDB
  • DB2
  • SQLite
  • PostgreSQL
  • MongoDB
  • Redis
  • Access
  • 数据库其它
  • sybase
  • HBase
您的位置:首页 > 数据库 >Mysql > MySQL存储引擎初探

MySQL存储引擎初探

作者:匿名 字体:[增加 减小] 来源:互联网 时间:2018-12-05

匿名通过本文主要向大家介绍了MySQL,初探,存储等相关知识,希望本文的分享对您有所帮助
MySQL存储引擎初探

目录:

1、存储引擎介绍

2、InnoDB及MyISAM性能对比

3、MyISAM和InnoDB的锁对比

4、两种存储引擎索引对比


1 存储引擎介绍

说明:基于5.7.19的MySQL数据库。

图1.1 数据库版本

在Navicat for MySQL中进行测试:

输入sql:show engines;

图1.2 存储引擎类别

参数说明:

Engine:存储引擎名称

Support:MySQL是否支持该引擎

Comment:对该引擎的说明

Transaction:是否支持事务处理

XA:是否分布式交易处理XA规范

Savepoints:是否支持保存点,以便事务回滚到保存点

l InnoDB

适用于高性能和事务处理环境,支持外键,默认的存储引擎,“拆包即用”。

l MyISAM

适用于以只读为主的数据仓库、电子商务和企业应用中。MyISAM使用高级缓存和索引机制提高数据检索和索引速度,但不支持事务,不支持外键。

l Blackhole

适用于测试应用程序确实在写数据而又不希望在磁盘上存储任何数据的场景。Blackhole存储引擎满足一个特定的需求,如果启用了二进制日志,SQL语句将被写入日志,将Blackhole存储引擎作为复制拓扑中的中继或代理。在这种情况下,中继代理处理来自master的数据,并将这些数据发送到它的slave上去,但是它本身并不存储任何数据。

l CSV

适用于写CSV日志文件,将结构化业务数据快速导入电子表格。CSV存储引擎以表格形式创建、读取和写入逗号分隔值(CSV)文件。不提供任何索引机制,在存储和转换日期时间值时也存在某些问题,存储数据的效率不高,因此应该谨慎使用。

l Memory

适用于频繁访问而很少更改的静态数据的情况,例如邮编列表、省市区列表、分类列表等等,以及适用于利用快照技术访问分布数据或历史数据的数据库。Memory(有时被称为HEAP)是内存中的存储器,使用哈希机制检索频繁使用的数据,从而检索更快。由于数据存储在内存中,只在MySQL会话中有效,关机时数据被刷新并删除。

l Federated

适用于分布式或数据集环境。Federated存储引擎允许将多个数据库服务器的表连接起来。它不移动数据,也不要求远程表适用相同的存储引擎。目前Federated存储引擎在MySQL的大部分发行版中是禁用的。

l Archive

适用于存储和检索大量的很少访问的存档或历史数据。Archive存储引擎以压缩格式存储大量数据,不支持索引,只能通过表扫描访问。

l MRG_MYISAM

适用于非常大的数据库应用,如数据仓库,其中数据存储在一个或多个数据库的多个表中。MRG_MYISAM存储引擎的最优的特点就是快速,它将一个大表分割成许多不同的小表,存储在不同的磁盘上,把这些小表合并,然后同时访问它们,搜索和排序执行得更快,因为每个小表需要管理的数据变少了。

缺点:

l 必须使用相同的MyISAM表组成一个合成表;

l 替换操作不可用;

l 索引比单表的索引效率低。


2 InnoDB及MyISAM性能对比

说明:测试表中含有36个字段,并含有988218条记录。

InnoDB存储引擎的测试数据库名为Innodbtest,其中含有该表,表名为Innodbtable;MyISAM存储引擎的测试数据库名为Myisamtest,其中含有该表,表名为Myisamtable。

在MySQL中分别使用InnoDB及MyISAM存储引擎对该表进行测试,首先进行前期工作:

(1)将测试MyISAM存储引擎的表的存储引擎从默认的InnoDB修改为MyISAM:

alter table myisamtable engine=myisam;


分享到:QQ空间新浪微博腾讯微博微信百度贴吧QQ好友复制网址打印

您可能想查找下面的文章:

  • 分享下mysql各个主要版本之间的差异
  • MySQL essential版本和普通版本有什么区别?
  • redhat 5.4下安装MYSQL全过程
  • 如何用SQL命令查看Mysql数据库大小
  • 解析mysql中如何获得数据库的大小
  • 解析mysql修改为utf8后仍然有乱码的问题
  • 5个常用的MySQL数据库管理工具详细介绍
  • 解析在MySQL里创建外键时ERROR 1005的解决办法
  • 解析远程连接管理其他机器上的MYSQL数据库
  • mysql 精简过程(删除一些文件)

相关文章

  • 2018-12-05mysql索引是什么?浅谈mysql索引
  • 2018-12-05Mysql中四种插入方法的效率对比
  • 2018-12-05一个删除指定表的所有索引和统计的过程
  • 2017-05-11MySQL查询优化:用子查询代替非主键连接查询实例介绍
  • 2018-12-05java实现插入mysql二进制文件,blob类型,遇到问题及解决办法
  • 2017-05-11mysql重装后出现乱码设置为utf8可解决
  • 2018-12-05关于Cast函数的文章推荐
  • 2018-12-05mysql实现百万的数据快速创建索引
  • 2017-05-11MySQL远程连接丢失问题解决方法(Lost connection to MySQL server)
  • 2018-12-05SqlServer 2008 创建测试数据的方法

文章分类

  • MsSql
  • Mysql
  • oracle
  • MariaDB
  • DB2
  • SQLite
  • PostgreSQL
  • MongoDB
  • Redis
  • Access
  • 数据库其它
  • sybase
  • HBase

最近更新的内容

    • 讲解更新锁(U)与排它锁(X)的相关知识
    • 基于unique与primary约束的区别分析
    • 如何用cmd连接Mysql数据库
    • 详解MySQL中SlowLog的配置方法(图文)
    • MySQL如何使用UNIQUE来实现数据不重复插入的详细介绍
    • Oracle 实现类似SQL Server中自增字段的一个办法
    • MySQL 数据库的临时文件究竟储存在哪里
    • MongoDB导入json数据的方法
    • Oracle创建主键自增表(sql语句实现)及触发器应用
    • 详解数据库语言中的null值

关于我们 - 联系我们 - 免责声明 - 网站地图

©2020-2025 All Rights Reserved. linkedu.com 版权所有