这篇文章主要介绍了MySQL架构设计实例分析的相关知识,内容详细易懂,操作简单快捷,具有一定借鉴价值,相信大家阅读完这篇MySQL架构设计实例分析文章都会有所收获,下面我们一起来看看吧。由图中可以看到MySQL架构主要分为Server层和存储引擎层。Server层又分为连接器、缓存、分析器、优化器、执行器。所有跨存储引擎的功能都在这层实现,比如:函数、存储过程、触发器、视图等。存储引擎是可插拔式的,常见的存储引擎有MyISAM、InnoDB、Memory等,MySQL5.5之前默认的是MyISAM,之后默认的是InnoDB。连接器主要用来管理客户端的连接和用户身份认证。客户端与Server端的连接采用的是TCP协议,经过TCP握手,建立连接之后,连接器开始进行身份验证。如果认证失败,就会出现错误ERROR 1045 (28000): Access denied for user ‘root’@’localhost’ (using password: YES)。可以通过show processlist命令查看系统所有连接的信息:其中Commond列表示连接状态,Daemon表示后台进程,Query表示查询,Sleep表示空闲连接。客户端请求不会直接去存储引擎查询数据,而是先在缓存中查询结果是否存在。如果结果已存在,直接返回,否则再执行一遍查询流程,查询结束后把结果再缓存起来。如果数据表发生更改,将清空失效缓存,例如 insert、update、delete、alter操作等。对于频繁变更的数据表来说,缓存命中率很低。使用缓存反而降低了读写性能,所以在MySQL8.0以后就移除了缓存模免费云主机域名块。可以通过下面命令查看是否开启了缓存:分析器主要对SQL语句进行词法分析和语法分析。首先进行词法分析,分析出MySQL的关键字、以及每个词语代表的含义。然后进行语法分析,检测SQL语句是否符合MySQL语法要求。MySQL通过识别字符串中列名、表名、where、select/update/insert 等MySQL关键字,在根据语法规则判断sql是否满足语法,最终会生成一个抽象语法树(AST)。比如:SQL语句中少写个where关键字,就会提示错误。在真正执行SQL语句之前,还需要经过优化器处理。我们熟知的执行计划(Explain)就是优化器生成的。优化器主要有两个作用:逻辑优化和物理优化。逻辑优化主要进行等价谓词重写、条件化简、子查询消除、连接消除、语义优化、分组合并、选择下推、索引优化查询、表查询替换视图查询、Union替换or操作等。物理优化主要作用是通过贪婪算法,根据代价估算模型,估算出每种执行方式的代价。并使用索引优化表连接,最终生成查询执行计划。附上MySQL优化器架构图,可以清晰的看到优化过程:在优化器优化完SQL,并生成了执行计划后,就会把执行计划传递给执行器。执行器调用存储引擎接口,真正的执行SQL查询。获取到存储引擎返回的查询结果,并把结果返回给客户端,至此SQL语句执行结束。关于“MySQL架构设计实例分析”这篇文章的内容就介绍到这里,感谢各位的阅读!相信大家对“MySQL架构设计实例分析”知识都有一定的了解,大家如果还想学习更多知识,欢迎关注百云主机行业资讯频道。
这篇文章主要介绍“go语言如何从切片中删除元素”的相关知识,小编通过实际案例向大家展示操作过程,操作方法简单快捷,实用性强,希望这篇“go语言如何从切片中删除元素”文章能帮助大家解决问题。 删除方法:1、对切片进行截取来删除指定元素,语法“append(a[:…
免责声明:本站发布的图片视频文字,以转载和分享为主,文章观点不代表本站立场,本站不承担相关法律责任;如果涉及侵权请联系邮箱:360163164@qq.com举报,并提供相关证据,经查实将立刻删除涉嫌侵权内容。