登录  /  注册

mysql有哪些常见的存储引擎

王林
发布: 2020-06-24 15:17:23
原创
3709人浏览过

mysql中常见的存储引擎有:1、innodb存储引擎;2、myisam存储引擎;3、memory存储引擎。mysql5.5以后默认使用innodb存储引擎,它有着热备份、外键关联、行级锁、事务等特点。

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有哪些常见的存储引擎的详细内容,更多请关注php中文网其它相关文章!

智能AI问答
PHP中文网智能助手能迅速回答你的编程问题,提供实时的代码和解决方案,帮助你解决各种难题。不仅如此,它还能提供编程资源和学习指导,帮助你快速提升编程技能。无论你是初学者还是专业人士,AI智能助手都能成为你的可靠助手,助力你在编程领域取得更大的成就。
相关标签:
来源:php中文网
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
最新问题
关于CSS思维导图的课件在哪? 课件
凡人来自于2024-04-16 10:10:18
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责申明 意见反馈 讲师合作 广告合作 最新更新
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送
PHP中文网APP
随时随地碎片化学习
PHP中文网抖音号
发现有趣的

Copyright 2014-2024 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号