加入收藏 | 设为首页 | 会员中心 | 我要投稿 我爱制作网_池州站长网 (https://www.0566zz.com/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 站长学院 > MySql教程 > 正文

MySQL系列-系统架构及存储引擎介绍

发布时间:2022-09-17 15:31:46 所属栏目:MySql教程 来源:
导读:  1.什么是MySQL?MySQL是一款性能高、成本低、可靠性好的最流行的开源数据库,被各大互联网公司使用,目前MySQL属于Oracle公司。不久前MySQL也迎来了目前为止的最大版本更新MySQL8.0,就像Java8一样,MySQL直接从
  1.什么是MySQL?MySQL是一款性能高、成本低、可靠性好的最流行的开源数据库,被各大互联网公司使用,目前MySQL属于Oracle公司。不久前MySQL也迎来了目前为止的最大版本更新MySQL8.0,就像Java8一样,MySQL直接从5.7跳到8.0了,同时也意味着这是一次革命性的版本。

      2.MySQL的架构图
 
  这是MySQL的基本架构图,其实很多架构都是相通的,这个就非常类似于MVC的架构,做设计的时候其实可以参考这张图。在MySQL的内部也有一个查询缓存模块也就相当于我们的ORM框架的cache(cache真是无处不在啊mysql系统,从cpu到软件应用)。我们比较注重的就是查询优化器了,但是它的能力有限,我们有时候要进行自己的优化或者指定强制使用某个索引,一般来说数据条数不超过100w也就没必要进行各种优化了,MySQL能够处理这个级别的数据量(官方宣称是300w-500w)。dml和ddl语句都有专门的处理模块等等。访问控制模块就是来管理数据库安全的了,也就是权限控制模块。下面还有多达数十个存储引擎,可能我们就使用过其中的一两个,最为重要的还是innoDB和MyISAM同时也是最为常用的,现在innoDB已经成了MySQL默认的存储引擎了。存储引擎属于表级别,这样就意味着我们创建表的时候可以具体制定使用那个存储引擎。例如:
 
  create table ta (
      id int primary key,
     name varchar(15)
  )engine=myisam;
  3.innoDB与MyISAM对比
 
  可以看出,MyISAM主要用来查询用的,而且不支持事务和外键,对于dml操作效率不如innoDB。如果你是5.5及以下版本需要设置单表空间才能看到innoDB的存储文件(.ibd格式)。例如:
 
  对于锁的粒度而言,MyISAM只支持表锁而innoDB支持表锁和行锁,粒度更细,这也就意味在innoDB行锁开销更大但是同时也获得了更高的并发性。后面我会专门讲解MySQL的锁。
 

(编辑:我爱制作网_池州站长网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!