随笔 - 50  文章 - 12 评论 - 3 阅读 - 61639
< 2025年3月 >
23 24 25 26 27 28 1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28 29
30 31 1 2 3 4 5

事务方面

  InnoDB支持事务,MyISAM不支持事务。MySql的默认存储引擎为InnoDB

外键方面

  InnoDB支持外键,MyISAM不支持,对一个包含外键的InnoDB表转为MYISAM会失败

索引层面

  InnoDB是聚簇索引,MyISAM是非聚簇索引

  MyISAM支持FULLTEXT类型的全文索引

  InnoDB不支持FULLTEXT类型的全文索引,但是InnoDB可以使用sphinx插件支持全文索引,并且效果更好。

锁粒度方面

  InnoDB最小粒度锁是行锁,MyISAM最小粒度锁是表锁

硬盘存储结构

  MyISAM在磁盘上存储成三个文件,第一个文件的名字以表的名字开始,扩展名指出文件类型

   .frm文件存储表的定义

   数据文件的扩展名为.MYD(MYData)

   索引文件的扩展名为.MYI(MYIndex)

 

  InnoDB在磁盘上存储成两个文件

   Frm文件:表的定义文件

   Ibd文件:数据和索引存储文件。数据以主键进行聚集存储,把真正的数据保存在叶子节点中

 

聚簇索引和非聚簇索引

  聚簇索引(InnoDB

    将数据存储和索引放到一块,索引结构的叶子节点保存了行数据

    表数据按照索引的顺序来存储的,也就是索引项的顺序与表中记录的物理顺序一致

    InnoDB中,在聚簇索引之上船舰的索引称之为辅助索引,像复合索引,前缀索引,唯一索引等

    1.聚簇索引默认是主键

    2.如果表中没有定义主键,InnoDB会选择一个唯一非空索引替代

 3.如果没有这样的索引,InnoDB会在内部生成一个名为GEN_CLUST_INDEX的隐式的聚簇索引

   非聚簇索引(MyISAM

将数据与索引分开存储,表数据存储顺序与索引顺序无关

 

MyISAM索引查询数据过程

  非聚簇索引存储结构

 

 

 

  聚簇索引存储结构

 

 

posted on   ScoutDu  阅读(130)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 周边上新:园子的第一款马克杯温暖上架
· Open-Sora 2.0 重磅开源!
· 分享 3 个 .NET 开源的文件压缩处理库,助力快速实现文件压缩解压功能!
· Ollama——大语言模型本地部署的极速利器
· [AI/GPT/综述] AI Agent的设计模式综述
点击右上角即可分享
微信分享提示