我是靠谱客的博主 发嗲秋天,最近开发中收集的这篇文章主要介绍mysql存储引擎的使用场景,说一下mysql中存储引擎的使用场景,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

MyISAM

不支持事务,适用于选择密集型,插入密集型, mysql 默认的引擎

该引擎基于ISAM,除了提供ISAM所没有的索引和字段管理等大量功能

MyISAM还使用一种表锁机制来优化多个并发读写操作,但需要经常运行OPTIMIZE TABLE命令,来恢复被更新机制

所浪费的空间,否则碎片也会随之增加,最终影响数据访问性能。

还有一些有用的扩展,例如用来修复数据库文件的MyISAM Chk工具和用来恢复浪费空间的 MyISAM Pack工具

MyISAM强调了快速读取操作,主要用于高负载的select,这可能也是MySQL深受Web开发的主要原因:在Web开发中

进行的大量数据操作都是读,所以大多数虚拟主机提供商和Internet平台提供商(Internet Presence Provider

,IPP)只允许使用MyISAM格式。

MyISAM类型的表支持三种不同的存储结构:静态型、动态型、压缩型。

静态表(默认的存储格式) 表中的字段都是非变长字段,这样每个记录都是固定长度的,这样存储

优点:非常迅速,易缓存,出现故障容易恢复

缺点:占用的空间通常比动态表多。静态表在数据存储时会根据列定义的宽度定义补足空格,但是在访问的时候并

不会得到这些空格,这些空格在返回给应用之前已经去掉。同时需要注意:在某些情况下可能需要返回字段后的

空格,而使用这种格式时后面到空格会被自动处理掉。

动态表 包含变长字段,记录非固定长度的

优点:占用空间较少

缺点:频繁更新删除记录会产生碎片,需要定期执行OPTIMIZE TABLE或myisamchk -r改善性能,并且出现故障的时

候恢复相对比较困难

压缩表 由myisamchk工具创建,占据非常小空间,因为每条记录都是被单独压缩,所以只有非常小的访问开支

InnoDB

适用于更新密集型,支持事务,自动灾难恢复,行锁,外键

该存储引擎为MySQL表提供了ACID事务支持、系统崩溃修复能力和多版本并发控制(即MVCC Multi-Version

Concurrency Control)的行锁

支持自增长列(auto_increment),自增长列的值不能为空,如果在使用的时候为空则自动从现有值开始增值,如

果有但是比现在的还大,则直接保存这个值

支持外键(foreign key) ,外键所在的表称为子表而所依赖的表称为父表。

该引擎在5.5后的MySQL数据库中为默认存储引擎。

标签:存储,mysql,外键,空格,引擎,MyISAM,MySQL

来源: https://blog.csdn.net/qq_42630887/article/details/97672188

最后

以上就是发嗲秋天为你收集整理的mysql存储引擎的使用场景,说一下mysql中存储引擎的使用场景的全部内容,希望文章能够帮你解决mysql存储引擎的使用场景,说一下mysql中存储引擎的使用场景所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(43)

评论列表共有 0 条评论

立即
投稿
返回
顶部