当前位置: 首页 > news >正文

软件开发怎么学南京seo收费

软件开发怎么学,南京seo收费,wordpress+左侧导航,wordpress discuz seo文章目录 前言一、一条查询的SQL是如何执行的二、MySQL的“零件”们1.连接器2.查询缓存3.分析器4.优化器5.执行器 总结 前言 做了多年技术之后#xff0c;技术更新换代太快#xff0c;从我入行时候从单体架构到后面分布式SOA#xff0c;再到微服务#xff0c;从后端再到全… 文章目录 前言一、一条查询的SQL是如何执行的二、MySQL的“零件”们1.连接器2.查询缓存3.分析器4.优化器5.执行器 总结 前言 做了多年技术之后技术更新换代太快从我入行时候从单体架构到后面分布式SOA再到微服务从后端再到全栈。期间涉及的技术一大堆有的仍然在用有的却已经沉没在历史的海洋里了。不过这么多年数据库常用的还是那几种对于未来的AI时代可能会有变革但是数据依然是一切的基础所以学好数据库还是很重要的。既然行业很卷人心都很浮躁那就专注的学学数据库吧从了解数据库结构开始到应用再到优化最后再利用对数据库的了解学会数据分析或许也不失为一条走向商业的路。 这一篇就来给大家聊聊MySQL的逻辑结构。 一、一条查询的SQL是如何执行的 大家经常见到这样的SQL SELECT * FROM Table WHERE ID 11;我们只是输入了一个SQL看到的也只是返回的一个结果。却不知道他在MySQL内部运行的过程。 所以我们今天要把这个SQL拆解一下看看MySQL到底为这条查询语句做了什么事情。这样当我们遇到MySQL异常或者问题时就能直戳本质更快的定位解决问题。 为此我画了一个MySQL的结构思维导图 我们平时用的就是MySQL客户端它可以分为Server层和存储引擎层两部分。 Server层包括连接器、查询缓存、优化器、执行器等。除此之外还涵盖了内置函数日期、时间、数学和加密函数等还有存储过程、触发器、视图都在这一层实现。 存储引擎则主要是负责数据的存储和提取。是插件式的架构支持各InnoDB、MyISAM、Memory 等多个存储引擎。其中5.5.5版本之后InnoDB就成为了默认引擎。 前文所述的SQL是一条查询语句自然而然的也会经过我们上述的各个“零件”。下面就给大家讲讲每个“零件”在查询过程中提供了什么服务。 二、MySQL的“零件”们 1.连接器 在Linux上或者Windows的cmd上操作过的朋友肯定熟悉这个命令 mysql -h$ip -P$port -u$user -p这个是连接MySQL数据库的命令按照这个命令输入用户名密码。连接器就是负责跟客户端建立连接、获取权限、维持和管理连接。 2.查询缓存 建立完连接之后就开始执行SELECT语句了。这时候就回来到查询缓存。 MySQL收到查询请求之后会到查询缓存中找看看是否执行过这个语句。之前执行过的语句会被当做key-value的键值对形式缓存在内存中。key是查询语句value是返回的结果。如果在缓存中找到了这个key就会直接返回value。熟悉java里map的小伙伴应该挺熟悉这个缓存原理。 如果缓存中没有这个key就会继续后面的阶段。执行完成后会再把结果存入查询缓存中。 但是查询缓存的失效非常的频繁只要有一个表更新相关的所有查询缓存都会清空。 注MySQL8.0版本后就没有这个功能了。 3.分析器 如果没有在查询缓存中找到对应的value。那么sql就会来到分析器中。MySQL需要先分析你这条SQL想要做什么知道你的需求才能为你实现。 而分析器会先做“词法分析”识别SQL里的字符串分别代表什么把字符串“Table”识别为表名把“ID”识别为列名是“ID”的那一列。 识别完了词法接下来会识别“语法”。会根据你的SQL语句与MySQL的语法规则进行对比如果不满足语法规则就会得到下面的错误提醒。 “You have an error in your SQL syntax” 4.优化器 分析完了你想利用MySQL做什么便会在执行你的需求之前进行前置的处理。 优化器会负责评估多种可能的执行计划并选择最优的一种。它考虑多种因素如索引的使用、数据的分布、连接操作的顺序等以确定最有效的查询执行计划。 转换查询当一个查询被转成另一种查询时其结果是一样的这被称为语句转化。例如查询SELECT … WHERE 5 a可以被转化成SELECT … WHERE a 5。 使用索引为了提高查询效率是否正确使用了索引是一个关键因素。索引是数据库中用于加速数据*检索的数据结构。优化器会评估使用索引的利弊并决定是否使用索引。 调整查询计划优化器还会考虑多种因素如数据的分布、查询的结构等以确定最有效的查询执行计划。 5.执行器 当MySQL知道了你需要做什么之后就会开始执行你的SQL语句。 开始执行的时候要先判断一下你对这个表有没有执行查询的权限如果没有就会返回没有权限的错误。 以最开始的SQL为例 SELECT * FROM Table WHERE ID 11;执行流程是这样的 1调用 InnoDB 引擎接口取这个表的第一行判断 ID 值是不是 11如果不是则跳过如果是则将这行存在结果集中 2调用引擎接口取“下一行”重复相同的判断逻辑直到取到这个表的最后一行。 3执行器将上述遍历过程中所有满足条件的行组成的记录集作为结果集返回给客户端。 至此这个语句就执行完成了。 总结 一条SQL查询语句的执行会经过一系列的流水线。连接器用来关联连接权限验证。查询缓存提交查询效率。分析器做词法和语法分析。优化器执行计划生成、索引选择。执行器操作引擎返回结果。引擎层则存储数据提供读写接口。其中每个环节都是比较重要的部分。
http://www.pierceye.com/news/117874/

相关文章:

  • 潍坊市做网站沈阳专业网站制作团队
  • 婚恋网站女孩子都是做美容西安做网站南通公司
  • 网站制作培训中心想做网站建设
  • 免费模板素材网站ppth5开源网站模板
  • 建筑型专业网站有哪些网站想做个链接怎么做的
  • 公司建站文案给网站公司看的wordpress打赏
  • 卡密网站怎么做交易所网站建设教程
  • 响应式网站建设代理wordpress程序在ftp中上传到空间 网页怎么打不开
  • 做网站中网页的大小赤峰建筑人才网
  • 4s店网站建设美的集团网站建设方案书
  • 专业做商铺的网站哪些网站有二维码
  • 房屋备案查询系统官网盐城网站优化公司
  • 江苏网站设计页面设计文献
  • 快排做网站排名泰安哪个做网站
  • 淄博做网站的公司都有哪些网站开发职业环境分析
  • 网站性能视频 怎么做网站
  • 惠安建设局网站做基础销量的网站
  • 网页制作与网站建设自考制作ppt的软件免费下载
  • 会员类网站模板wordpress写主题
  • wordpress网站分享朋友圈缩略图wordpress 密码爆破
  • 总结网站推广策划思路的内容佛山做外贸网站哪家好
  • 阿里云服务器如何做两个网站网站建站对象
  • 做网站毕业实训报告网站架构企业收费标准
  • 高端品牌网站建设公司哪家好网页设计与制作个人总结
  • 自己电脑建设网站哈尔滨专业网站建设哪个好
  • 福建设计招标网站移动端网站和app开发
  • 山东网站制作团队门户网站内容管理建设方案
  • 新开传奇网站排行中国建设网官方网站app
  • 网站营运费广州网络公司建站
  • 小吃网站建设如何提高网站收录量