美文网首页
再次认识MySql(一)

再次认识MySql(一)

作者: ZalleDay | 来源:发表于2019-04-10 17:56 被阅读0次

mysql有两个常见的的存储引擎: Mylsam 和innoDB

1 Mylsan

MyISAM是MySQL的默认数据库引擎(5.5版之前),由早期的 ISAM (Indexed Sequential Access Method:有索引的顺序访问方法)所改良。虽然性能极佳,而且提供了大量的特性,包括全文索引、压缩、空间函数等,但MyISAM不支持事务和行级锁,而且

最大的缺陷就是崩溃后无法安全恢复。

不过,5.5版本之后,MySQL引入了InnoDB(另一种数据库引擎)。
下面这张图只是想表达的意思是现在大多数时候我们使用的都是InnoDB存储引擎,但是在某些情况下使用MyISAM更好,比如:

MyISAM更适合读密集的表,而InnoDB更适合写密集的的表。

在数据库做主从分离的情况下,经常选择MyISAM作为主库的存储引擎。

Mylsam的特点

  • 不支持行锁(MyISAM只有表锁),读取时对需要读到的所有表加锁,写入时则对表加排他锁;
  • 不支持事务
  • 不支持外键
  • 不支持崩溃后的安全恢复
  • 在表有读取查询的同时,支持往表中插入新纪录
  • 支持BLOB和TEXT的前500个字符索引,支持全文索引
  • 支持延迟更新索引,极大地提升了写入性能
  • 对于不会进行修改的表,支持压缩表 ,极大地减少了磁盘空间的占用

2 InnoDB

2.1 InnoDB简介

InnoDB是MySQL的默认数据库引擎(5.5版之后),2006年五月时由甲骨文公司并购。与传统的ISAM与MyISAM相比,InnoDB的最大特色就是支持了ACID兼容的事务(Transaction)功能。

2.2 InnoDB特点

  • 支持行锁,采用MVCC来支持高并发,有可能死锁
  • 支持事务
  • 支持外键
  • 支持崩溃后的安全恢复
  • 不支持全文索引

补充的概念:
Mysql的行锁和表锁( 锁是计算机协调多个进程或纯线程并发访问某一资源的机制)

  • 表级锁: 每次操作锁住整张表。开销小,加锁快;不会出现死锁;锁定粒度大,发生锁冲突的概率最高,并发度最低;
  • 行级锁: 每次操作锁住一行数据。开销大,加锁慢;会出现死锁;锁定粒度最小,发生锁冲突的概率最低,并发度也最高;

参考转载出处:
Java Guide
https://juejin.im/post/5b1685bef265da6e5c3c1c34

相关文章

  • 再次认识MySql(一)

    mysql有两个常见的的存储引擎: Mylsam 和innoDB 1 Mylsan MyISAM是MySQL的默...

  • 再次认识 Steam

    从字面意义上来看,STEAM就是 科学(Science) 技术(Technology) 工程(Engineerin...

  • 再次认识目标

    前段时间,看罗振宇《知识就是力量》的栏目,里面讲到电动汽车特斯拉的创始人埃隆.马斯克的目标:制造出一个更大的火...

  • 再次认识速成

    以前对速成的理解就是迅速成功。找到一个高效的方法,迅速到达某种状态。后来在笑来老师的通往财富自由之路中,理解到了快...

  • 再次认识你

    亲爱的: 你好!最近好吗?很开心,又在这样一个安静的夜晚,决定提笔为你写下一封…… 不知不觉,加入...

  • 再次认识陈奕迅

    今年的新歌声高调加盟了陈奕迅导师,使得导师组合达到天花板式的巅峰状态。作为一个70后老妈级别的女人,对他的认识仅仅...

  • 再次认识servlet

    servlet的前世今生 JavaWeb三大组件 如何编写servletbravo1988的回答 - 知乎 spr...

  • 再次认识自我

    当我们遇到挫折的时候,遇到外界不利的评价的时候,我们一定要分清楚到底是外界评判标准有问题,还是我们自身的问题。

  • 再次认识“学习”

    写作课上,晓云老师让我们利用碎片时间来写作,让自己在空余时间来思考一个话题,于是我就在脑海中琢磨,我写什...

  • 再次认识你

    无缘无故又有了我驾驭不了的事,纵然觉得可以过去,但终于还是以大半夜睡不着为特征的证明能力不够。 岁月静好不敢求,耳...

网友评论

      本文标题:再次认识MySql(一)

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