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系统结构中的三个角色:客户端,处置惩罚引擎,实行引擎
用系统架构图来示意就是如许的
● 客户端
相当于妃子的角色:用户操纵客户端来发出查询、修正、增加、删除数据的需求
● 处置惩罚引擎
处置惩罚引擎相当于大臣的角色,担任剖析SQL语句,生成实行计划。除此之外,还担任有以下义务,我们在优化时能够注重:
• 担任治理衔接与线程:运用了多线程模子,设置thread_cache_size能够应用已有线程
• 担任治理query cache:应用现成效果,直接缓存效果集,测试语句机能时需要用 sql_no_cache hint 屏障
● 存储引擎
存储引擎相当于快递员的角色,担任数据现实存储以及数据的读取,修正等操纵。差别的存储引擎,在现实的实行中会表现出差别的特征。在后面的文章会细致睁开引见。
综上就是MySQL的系统结构概述,愿望对人人有所协助。
以上就是浅谈MySQL道理与优化(一)之汗青与系统结构的细致内容,更多请关注ki4网别的相干文章!