美文网首页mysql8.0
6)mysql存储引擎

6)mysql存储引擎

作者: 哥斯拉啊啊啊哦 | 来源:发表于2019-08-20 15:52 被阅读0次

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

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

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

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

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



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

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

    相关文章

      网友评论

        本文标题:6)mysql存储引擎

        本文链接:https://www.haomeiwen.com/subject/vmypsctx.html