美文网首页
mysql,MyISAM和InnoDB对比

mysql,MyISAM和InnoDB对比

作者: 悠悠行万里丶 | 来源:发表于2019-02-16 09:52 被阅读0次

MyISAM和 innodb 的实现上的区别?

1.一个聚簇一个非聚簇

  聚簇索引保证关键字的值相近的元组存储的物理位置也相同(所以字符串类型不宜建立聚簇索引,特别是随机字符串,会使得系统进行大量的移动操作),且一个表只能有一个聚簇索引。因为由存储引擎实现索引,所以,并不是所有的引擎都支持聚簇索引。目前,只有solidDB和InnoDB支持。

INNODB在做SELECT的时候,要维护的东西比MYISAM引擎多很多:

1)数据块,INNODB要缓存,MYISAM只缓存索引块,  这中间还有换进换出的减少;

2)innodb寻址要映射到块,再到行,MYISAM记录的直接是文件的OFFSET,定位比INNODB要快

(phil 注: myisam 更新频率低,所以 索引变更少 . 所以允许每次更新 即更新主索引,也更新副索引,更新 offset)

3)INNODB还需要维护MVCC一致;虽然你的场景没有,但他还是需要去检查和维护

MVCC (Multi-Version Concurrency Control)多版本并发控制

(phil 注: 由于没有了多行,不需要判断 选取可见的那行数据)

myisam 表锁.牺牲了写性能,提高了读性能.

相关文章

  • mysql,MyISAM和InnoDB对比

    MyISAM和 innodb 的实现上的区别? 1.一个聚簇一个非聚簇 聚簇索引保证关键字的值相近的元组存储的物...

  • 2018-03-19

    mysql MyISAM引擎和InnoDB的介绍 1、MyISAM MyISAM是MySQL的默认存储引擎,基于...

  • 引擎 | ARCHIVE

    mysql常用引擎MyISAM和InnoDB MyISAM:插入快 查询快 InnoDB:修改快 支持事务 ARC...

  • 彻底搞懂MySQL的索引

    前言 MyISAM和InnoDB是MySQL最常用的两个存储引擎,本文将进行详尽的介绍和对比。对于MySQL其余几...

  • 一文彻底搞懂MySQL索引

    前言 MyISAM和InnoDB是MySQL最常用的两个存储引擎,本文将进行详尽的介绍和对比。对于MySQL其余几...

  • Mysql的MyISAM和innodb对比

    结论 MyISAM 和 InnoDB的适用场景MyISAM适合:(1)做很多count 的计算;(2)插入不频繁,...

  • MySQL的存储引擎

    MySQL的存储引擎 1.查看所有引擎 将结果列成表格 InnoDB和MyISAM对比 *(MylSAM的压缩表必...

  • MySQL常用的两种存储引擎

    mysql有两种存储引擎:InnoDB和MyISAM。mysql5.5之前是默认MyISAM,mysql5.5之后...

  • MySQL学习日记(十一)-技术问答

    一、MySQL主要存储引擎MyISAM和InnoDB的区别? 1、 存储结构 MyISAM:每个MyISAM在磁盘...

  • 系统原理-乐观锁与悲观锁

    InnoDB与MyISAM Mysql 在5.5之前默认使用 MyISAM 存储引擎,之后使用 InnoDB 。查...

网友评论

      本文标题:mysql,MyISAM和InnoDB对比

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