当前位置: 首页 > news >正文

MyISAM和InnoDb的区别

MySQL 5.0以后的版本默认的存储引擎为InnoDb,之前是MyISAM。

现在说说两者的区别:

1.数据存储结构的不同

   MyISAM存储文件:.MYD(存储表数据),.MYI(存储表结构),.FRM(存储表结构)

    InnoDb存储文件: .FRM(存储表结构),.idb(存储表数据和索引)

2.数据存取方式不同

 MyISAM的主键索引为非聚簇索引,叶子节点存储的是数据的物理地址,Innodb的主键索引是聚簇索引,叶子节点存储的是数据。

Innodb的主键索引的叶子节点直接存储的是数据,二级索引的叶子节点存储的是主键,在利用主键来获取数据,这个特性决定了索引组织表中数据也是索引的一部分;

MyISAM的主键索引和二级索引的叶子节点存储的是主键的地址

3.对事物的支持不同

  InonDb支持事务,MyISAM不支持事务

4.对锁的支持不同

   MyISAM对数据进行修改的时候,是加上表锁,而InnoDb对数据进行修改的时候,添加的是行锁

    InnoDb还有事务提交,事务回滚,崩溃修复的能力

5.外键的支持不同

   innodb支持外键,myisam不支持外键

总结:建议使用InnoDb,但是如果对于大多都是查询,可以选用MyISAm。

           需要支持事务的,有查询和修改的还是要选用InnoDb。

          

http://www.lryc.cn/news/7843.html

相关文章:

  • K8s管理应用生命周期-Deployment篇
  • 类和对象(下)(二)
  • MapBox-draw绘制插件的使用教程(含修改样式和方法封装)
  • 使用 ONLYOFFICE 转换 API 构建在线文档转换器
  • Kubernetes的负载均衡方案:MetalLB
  • 【项目】Vue3+TS CMS 基本搭建相关配置
  • ros2 dds
  • chain33架构介绍
  • Lucene学习笔记
  • 动态规划【Day01】| 669 · 换硬币、114 · 不同的路径、116 · 跳跃游戏
  • 1.Hello Python
  • C语言实例|编写C程序在控制台打印余弦曲线
  • 《Hadoop篇》------大数据及Hadoop入门
  • TCP核心机制详解(三)
  • 最易上手的爬虫请求库:Requests核心功能速览(下)
  • 生产故障|Kafka ISR频繁伸缩引发性能急剧下降
  • c++终极螺旋丸:₍˄·͈༝·͈˄*₎◞ ̑̑“类与对象的结束“是结束也是开始
  • 【Python--torch.nn.functional】F.normalize用法 + 代码说明
  • 【算法题】1887. 使数组元素相等的减少操作次数
  • GD库图片裁剪指定形状解决办法(PHP GD库 海报)
  • redis的简介及应用场景
  • 2、HAL库利用滴答定时器systick(1ms中断)实现时间计数戳
  • Spring入门学习
  • webpack(4版本)使用
  • Linux安装ElasticSearch
  • Linux中C语言编程经验总结
  • jvisualvm工具使用
  • redis五大IO网络模型、内存回收
  • 【C/C++】内存管理详解
  • Android ProcessLifecycleOwner 观察进程生命周期