查看mysql存储引擎
    show engines;
    查看当前mysql默认存储引擎
    show variables like ‘%storage_engines%’;
    MyIsam:
    Mysql5.5以前默认存储引擎为MYISAM
    结构:
    MYISAM存储引擎由MYD和MYI组成
    image.png
    .frm存储了表结构,所有存储引擎都存在
    .MYD 数据文件
    .MYI 索引文件
    特性:
    并发性与锁级别-表锁
    支持全文检索
    支持数据压缩 myisampack -b -f xxx.MYI
    适用场景:
    非事务型应用(数据仓库、报表、日志数据)
    只读类应用
    空间类应用(空间函数、坐标)
    Innodb:
    Mysql5.5及以后默认存储引擎为Innodb
    结构
    Innodb表空间
    innodb_fil_per_table
    ON:独立表空间
    OFF:系统表空间
    查看表空间类型: show VARIABLES like ‘innodb_file_per_table’
    设置表空间类型: set global innodb_file_per_table=off off:关闭 on:打开
    独立表空间
    image.png
    .frm 表结构文件
    .ibd 数据及索引文件
    系统表空间
    对应数据库目录下
    image.png
    数据根目录data 下
    image.png

    .frm 表结构文件
    ibdataX 数据及索引文件

    mysql5.6以前Innodb默认为系统表空间
    系统表空间与独立空间对比:
    系统表空间无法简单的收缩文件大小
    独立表空间可以通过 optimize table 收缩文件系统 (OPTIMIZE TABLE 表名)
    系统表空间会产生IO瓶颈
    独立表空间可以同时向多个文件刷新数据。
    建议Innodb使用独立表空间
    特征:
    Innodb是一种支持事务的存储引擎,完全支持事务的ACID特性,Innodb支持行级锁
    适用场景:
    Innodb适用大多数OLTP引用

    MYISAM与INNODB对比image.png
    **