6)mysql存储引擎

MYISAM
不支持事务,是mysql5.6之前最常用的非事务存储引擎。
查询速度相对较快,但读写都会对数据加锁,在频繁读写业务中容易产生大量阻塞,影响整体性能

CSV
不支持事务,以csv格式存储的非事务存储引擎。
由于不支持事务,读写时会对数据加锁。通常用在不同系统间的数据交换,但不建议作为业务核心引擎来存储数据

Archive
不支持事务,只允许查询和新增数据而不允许修改的非事务存储引擎。
常用在归档类日志,这种只会新增而不会修改的数据中,另外Archive存储占用的物理空间更小

Memory
不支持事务,是一种易失性非事务存储引擎,数据存储在内存中。
特点是速度快,但mysql一旦重启,数据对消失。
主要用处是在mysql内部,在执行一些大sql过程中,需要存储临时中间结果的数据集,且这数据在符合某种条件下会将中间数据集存储在Memory种以加快sql执行速度

INNODB
支持事务,最常用的事务性存储引擎,5.7之后的默认存储引擎,一般如果没什么特别的要求,都会选这个引擎



INNODB引擎按主键顺序聚集存储,主键本身也会占用物理空间,因此主键的大小会影响查询效率。
另外数据是按主键逻辑顺序来存储,若主键顺序经常无缘变化,会造成数据迁移,带来IO性能的消耗。因此在一般情况下,建议使用自增ID为主键

在需要事务支持的场景中,一定不要混合使用事务存储引擎和非事务存储引擎。因为事务若因某种原因被回滚,非事务存储引擎所做的修改是无法回滚的,这样就破坏了事务的一致性要求,也破坏了数据的完整性

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • MySQL数 据库引擎取决于MySQL在安装的时候是如何被编译的。要添加一个新的引擎,就必须重新编译MYSQL。在...
    时待吾阅读 1,608评论 0 4
  • 1.引擎的介绍 ISAM: 该引擎在读取数据方面速度很快,而且不占用大量的内存和存储资源;但是ISAM不支持事务处...
    小灰灰besty阅读 4,741评论 2 2
  • 索引 数据库中的查询操作非常普遍,索引就是提升查找速度的一种手段 索引的类型 从数据结构角度分 1.B+索引:传统...
    一凡呀阅读 3,025评论 0 8
  • 一、MySQL优化 MySQL优化从哪些方面入手: (1)存储层(数据) 构建良好的数据结构。可以大大的提升我们S...
    宠辱不惊丶岁月静好阅读 2,476评论 1 8
  • 插件式存储引擎架构,灵活的处理方式,高度可定制化及完全开放的实现 MySQL存储引擎概述 MyISAM存储引擎是M...
    每天学点编程阅读 1,287评论 0 5