Mysql存储引擎特性总结

 更新时间:2014年07月19日 12:07:45   投稿:junjie  
这篇文章主要介绍了Mysql存储引擎特性总结,同时总结了最常用的2种存储引擎的特性,以及各引擎的适用环境,需要的朋友可以参考下

几个常用存储引擎的特点

下面我们重点介绍几种常用的存储引擎并对比各个存储引擎之间的区别和推荐使用方式。

特点 Myisam BDB Memory InnoDB Archive
存储限制 没有 没有 64TB 没有
事务安全   支持   支持  
锁机制 表锁 页锁 表锁 行锁 行锁
B树索引 支持 支持 支持 支持  
哈希索引     支持 支持  
全文索引 支持        
集群索引       支持  
数据缓存     支持 支持  
索引缓存 支持   支持 支持  
数据可压缩 支持       支持
空间使用 N/A 非常低
内存使用 中等
批量插入的速度 非常高
支持外键       支持  

最常使用的2种存储引擎:

•Myisam是Mysql的默认存储引擎。当create创建新表时,未指定新表的存储引擎时,默认使用Myisam。每个MyISAM在磁盘上存储成三个文件。文件名都和表名相同,扩展名分别是.frm(存储表定义)、.MYD (MYData,存储数据)、.MYI (MYIndex,存储索引)。数据文件和索引文件可以放置在不同的目录,平均分布io,获得更快的速度。

•InnoDB存储引擎提供了具有提交、回滚和崩溃恢复能力的事务安全。但是对比Myisam的存储引擎,InnoDB写的处理效率差一些并且会占用更多的磁盘空间以保留数据和索引。

如何选择合适的存储引擎

选择标准:根据应用特点选择合适的存储引擎,对于复杂的应用系统可以根据实际情况选择多种存储引擎进行组合。

下面是常用存储引擎的适用环境:

1.MyISAM:默认的MySQL插件式存储引擎,它是在Web、数据仓储和其他应用环境下最常使用的存储引擎之一

2.InnoDB:用于事务处理应用程序,具有众多特性,包括ACID事务支持。

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

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


相关文章

  • MySQL中SELECT+UPDATE处理并发更新问题解决方案分享

    MySQL中SELECT+UPDATE处理并发更新问题解决方案分享

    这篇文章主要介绍了MySQL中SELECT+UPDATE处理并发更新问题解决方案分享,需要的朋友可以参考下
    2014-05-05
  • MySQL递归sql语句WITH表达式实现方法代码

    MySQL递归sql语句WITH表达式实现方法代码

    SQL递归查询语句是指通过递归方式对数据进行查询的语句,下面这篇文章主要给大家介绍了关于MySQL递归sql语句WITH表达式实现的相关资料,文中通过代码介绍的非常详细,需要的朋友可以参考下
    2024-01-01
  • 从云数据迁移服务看MySQL大表抽取模式的原理解析

    从云数据迁移服务看MySQL大表抽取模式的原理解析

    这篇文章主要介绍了从云数据迁移服务看MySQL大表抽取模式的原理解析,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2021-02-02
  • RHEL 6平台MySQL数据库服务器的安装方法

    RHEL 6平台MySQL数据库服务器的安装方法

    这篇文章主要为大家详细介绍了RHEL 6平台MySQL数据库服务器的安装方法,感兴趣的小伙伴们可以参考一下
    2016-05-05
  • MySQL 实现双向复制的方法指南

    MySQL 实现双向复制的方法指南

    这篇文章主要介绍了MySQL 实现双向复制的方法指南,本文包括:主机配置,从机配置,建立主-从复制,建立双向复制,需要的朋友可以参考下
    2015-03-03
  • Mysql InnoDB和MyISAM区别原理解析

    Mysql InnoDB和MyISAM区别原理解析

    这篇文章主要介绍了Mysql InnoDB和MyISAM区别原理解析,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
    2020-10-10
  • Windows7下如何在命令行使用MySQL

    Windows7下如何在命令行使用MySQL

    这篇文章主要介绍了Windows7下如何在命令行使用MySQL的相关资料,需要的朋友可以参考下
    2015-12-12
  • MySQL8.0锁等待排查的实现

    MySQL8.0锁等待排查的实现

    MySQL8.0相较于5.7版本在锁等待排查方面发生了显著变化,原有的INNODB_LOCKS和INNODB_LOCK_WAITS表被移除,本篇文章将结合这些改动,介绍 MySQL 8.0 版本如何排查锁等待问题,感兴趣的可以了解一下
    2024-09-09
  • Mysql中distinct与group by的去重方面的区别

    Mysql中distinct与group by的去重方面的区别

    distinct简单来说就是用来去重的,而group by的设计目的则是用来聚合统计的,两者在能够实现的功能上有些相同之处,但应该仔细区分,因为用错场景的话,效率相差可以倍计。
    2020-03-03
  • MySQL的MaxIdleConns不合理,会变成短连接的原因

    MySQL的MaxIdleConns不合理,会变成短连接的原因

    这篇文章主要介绍了MySQL的MaxIdleConns不合理,会变成短连接的原因,帮助大家更好的理解和使用MySQL数据库,感兴趣的朋友可以了解下
    2021-01-01

最新评论