• 存储引擎


    一、MyISAM

    1. 特点:

    Mysql5.5版本之前的默认存储引擎

    数据表文件组成:表名.frm .MYD .MYI
    frm 描述表结构 MYD保存表数据 MYI存储表索引

    2. 特性:

    并发性与锁级别-表级锁;

    支持全文检索

    支持数据压缩

    3. 使用场景:

    非事务性应用(数据仓库,报表,日志数据);

    只读类应用;

    空间类应用(空间函数,坐标);

    二、Innodb

    1. 特点:

    Mysql 5.5 以及以后版本默认的存储引擎;

    2. 表空间描述:

    SHOW VARIABLES LIKE '%innodb_file_per_table%';

    ON:独立表空间(包含文件.frm + .ibd);

    OFF:系统表空间 (ibdataX);

    3. 表空间对比:

    • 系统表空间无法简单的收缩文件大小
    • 独立表空间可以通过optimize table 收缩系统文件
    • 系统表空间会产生IO瓶颈
    • 独立表空间可以同时向多个文件刷新数据

    4. 特性:

    • InnoDB 是一个事务性存储引擎
    • 完全支持事物的ACID
    • Redo Log 和 Undo Log
    • Innodb 支持行级锁(并发程度更高)

    三、两者之间的对比

    对比项
    MyISAM 
    InnoDB
    主外键
    不支持 支持
    事物 不支持 支持
    行级锁 表锁,即操作一条记录,也会锁住整个表;不适合高并发操作

    行锁,也支持表级锁,行锁的只是锁住某一行,不对其他行造成影响;

    适合高并发操作

    缓存 只是缓存索引,不缓存真是数据
    不仅缓存索引还要缓存真
    实数据,对内存要求较高,
    而且内存大小对性能有决
    定性的影响
    表空间
    关注点 性能 事物
    默认安装 Y 5.5版本之前 Y 5.5 版本即以后的版本
  • 相关阅读:
    异步方法单元测试
    docker常用命令备忘
    MQ消息最终一致性解决方案(转载)
    JAVA学习知识杂烩
    ASP.NET Core快速入门(第2章:配置管理)- 学习笔记(转载)
    NETCore下IConfiguration和IOptions的用法(转载)
    ASP.NET Core 之 Identity 入门(转载)
    vue+elementui+netcore混合开发
    JWT签名与验签
    使用Machin公式计算
  • 原文地址:https://www.cnblogs.com/lys-lyy/p/11161185.html
Copyright © 2020-2023  润新知