MySQL原理与优化的案例分析

60次阅读
没有评论

共计 1302 个字符,预计需要花费 4 分钟才能阅读完成。

自动写代码机器人,免费开通

这篇文章主要介绍 MySQL 原理与优化的案例分析,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!

MySQL 是目前互联网公司应用最广泛的数据库软件(DBMS),没有之一。小至初创公司,大至 BAT,GOOGLE,FACEBOOK 都在自己的业务中大量的使用 MySQL 作为数据存储。阿里云也提供了 MySQL 的云版本——云数据库 RDS MySQL 版。这一系列的文章希望能帮助大家更好的了解 MySQL,更好的发挥数据库的性能,让我们的数据存储更有效率。

MySQL 的历史

MySQL 是一个开源的自由软件,我们可以在网上直接获取到它的源码。至今为止 MySQL 已经有超过 20 年的历史,大体的里程碑事件如下:

● 1996 年,MySQL 1.0 发布,它只面向一小拨人。到了 1996 年 10 月,MySQL 3.11.1 发布 (MySQL 没有 2.x 版本),最开始只提供 Solaris 下的二进制版本。一个月后,Linux 版本出现了。在接下来的两年里,MySQL 被依次移植到各个平台。

● 1999~2000 年,MySQL AB 公司在瑞典成立,开发出了 Berkeley DB 引擎, 由于 BDB 支持事务处理,因此 MySQL 从此开始支持事务处理了。

● 2001 年 V3.23:MyISAM 引擎,以及 Innodb 引擎雏形

● 2003 年 V4.0:新的语法特性,Innodb 成为标准组件,加入 query_cache

● 2006 年 V5.0:视图,触发器,存储过程等功能加入

● 2008 年 V5.1:分区,行复制

● 2010 年 V5.5:Innodb 成为默认引擎,半同步复制

● V5.6 Innodb 改进,复制功能等提升

● V5.7 加入 mariaDB 等新的存储引擎

MySQL 的体系架构

MySQL 并没有和同时期数据库的一样,而是采用了自己独特的架构。这个架构我们可以用唐代诗人杜牧的一首著名的诗句来理解:

 长安回望绣成堆,山顶千门次第开。  一骑红尘妃子笑,无人知是荔枝来。

这里面有三个角色:

MySQL 原理与优化的案例分析

● 妃子:负责提出需求,要吃荔枝

● 大臣:负责安排采摘荔枝,走哪条路径,发放公文等

● 快递员:负责运送荔枝

这就对应 MySQL 体系结构中的三个角色:客户端,处理引擎,执行引擎

MySQL 原理与优化的案例分析

用体系架构图来表示就是这样的

MySQL 原理与优化的案例分析

● 客户端

相当于妃子的角色:用户操作客户端来发出查询、修改、添加、删除数据的需求

● 处理引擎

处理引擎相当于大臣的角色,负责解析 SQL 语句,生成执行计划。除此之外,还负责有以下责任,我们在优化时可以注意:

• 负责管理连接与线程:使用了多线程模型,设置 thread_cache_size 可以利用已有线程

• 负责管理 query cache:利用现成结果,直接缓存结果集,测试语句性能时需要用 sql_no_cache hint 屏蔽

● 存储引擎

存储引擎相当于快递员的角色,负责数据实际存储以及数据的读取,修改等操作。不同的存储引擎,在实际的执行中会表现出不同的特性。在后面的文章会详细展开介绍。

以上是“MySQL 原理与优化的案例分析”这篇文章的所有内容,感谢各位的阅读!希望分享的内容对大家有帮助,更多相关知识,欢迎关注丸趣 TV 行业资讯频道!

向 AI 问一下细节

丸趣 TV 网 – 提供最优质的资源集合!

正文完
 
丸趣
版权声明:本站原创文章,由 丸趣 2023-12-18发表,共计1302字。
转载说明:除特殊说明外本站除技术相关以外文章皆由网络搜集发布,转载请注明出处。
评论(没有评论)