温馨提示×

温馨提示×

您好,登录后才能下订单哦!

密码登录×
登录注册×
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》

mysql中常见的存储引擎介绍

发布时间:2020-06-24 19:54:20 来源:亿速云 阅读:245 作者:元一 栏目:MySQL数据库

今天就跟大家聊聊有关mysql中常见的存储引擎,可能很多人都不太了解,为了让大家更加了解,小编给大家总结了以下内容,希望大家根据这篇文章可以有所收获。

MySQL中的数据用各种不同的技术存储在文件(或者内存)中。这些技术中的每一种技术都使用不同的存储机制、索引技巧、锁定水平并且最终提供广泛的不同的功能和能力。通过选择不同的技术,你能够获得额外的速度或者功能,从而改善你的应用的整体功能。常用的存储引擎有:

1、InnoDB 引擎(MySQL5.5以后默认使用)

MySQL 5.5 及以后版本中的默认存储引擎,它的优点如下:

  • 灾难恢复性好

  • 支持事务

  • 使用行级锁

  • 支持外键关联

  • 支持热备份

  • 对于InnoDB引擎中的表,其数据的物理组织形式是簇表(Cluster Table),主键索引和数据是在一起的,数据按主键的顺序物理分布实现了缓冲管理,不仅能缓冲索引也能缓冲数据,并且会自动创建散列索引以加快数据的获取

2、MyISAM引擎

特性如下:

  • 不支持事务

  • 使用表级锁,并发性差

  • 主机宕机后,MyISAM表易损坏,灾难恢复性不佳

  • 可以配合锁,实现操作系统下的复制备份、迁移

  • 只缓存索引,数据的缓存是利用操作系统缓冲区来实现的。可能引发过多的系统调用且效率不佳

  • 数据紧凑存储,因此可获得更小的索引和更快的全表扫描性能

3、MEMORY 存储引擎

特点:

  • 提供内存表,不支持事务和外键

  • 使用表级锁,虽然内存访问快,但如果频繁的读写,表级锁会成为瓶颈

  • 只支持固定大小的行。Varchar类型的字段会存储为固定长度的Char类型,浪费空间

  • 不支持TEXT、BLOB字段。当有些查询需要使用到临时表(使用的也是MEMORY存储引擎)时,如果表中有TEXT、BLOB字段,那么会转换为基于磁盘的MyISAM表,严重降低性能

  • 由于内存资源成本昂贵,一般不建议设置过大的内存表,如果内存表满了,可通过清除数据或调整内存表参数来避免报错

  • 服务器重启后数据会丢失,复制维护时需要小心

看完上述内容,你们对mysql中常见的存储引擎有进一步的了解吗?如果还想了解更多知识或者相关内容,请关注亿速云行业资讯频道,感谢大家的支持。

向AI问一下细节

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

AI