包头外贸网站建设,中国建设银行网站公积金查询余额,景点网站应该怎么做,wordpress怎么调用一个分类的文章mysql的连接器 我们想要在mysql中执行一条sql查询语句#xff0c;首先需要连接到mysql服务#xff0c;那么客户端首先要向mysql服务端发起连接请求#xff0c;我们可以在客户端用mysql -h [ip] -P [port] -u 用户名 -p 密码 命令向服务端发起连接请求#xff0c;这个连接请…mysql的连接器 我们想要在mysql中执行一条sql查询语句首先需要连接到mysql服务那么客户端首先要向mysql服务端发起连接请求我们可以在客户端用mysql -h [ip] -P [port] -u 用户名 -p 密码 命令向服务端发起连接请求这个连接请求会先到达mysql的连接器连接器负责校验我们的用户登录身份连接器会去mysql的用户权限表查询用户信息进行身份校验身份校验如果不通过mysql会向客户端返回错误信息并且拒绝这次连接身份验证如果通过了那么mysql会去创建一个客户端和服务端之间的连接连接有长连接和短连接它们适用的场景不同长连接在建立以后需要长时间保持连接状态在长时间内的多次sql操作都在这同一个连接上进行虽然省去了连接创建和销毁的开销但是它在服务端长时间保存会造成服务端内存开销如果我们的系统是高并发的那么会导致很多长连接占用服务端的内存所以长连接只适用于一次连接之后需要长时间频繁进行数据库访问的非高并发系统而如果我们的系统要面对高并发访问那么应该用短连接短连接是一次连接之后执行一次sql或者短时间内的有限的几次sql查询之后就将连接关闭的连接形式它适用于高并发的业务场景。连接器在为客户端创建了连接之后查询就进入了下一步mysql的查询缓存。
mysql的查询缓存 执行查询的时候mysql会先去查询缓存中查询mysql用查询缓存缓存了之前执行过的查询结果查询结果在缓存中用key-value键值对的格式进行存储key是查询sql语句value是它对应的查询结果如果本次查询命中了缓存那么就直接返回缓存中的结果避免了真正的数据库查询提高了查询效率如果没有命中缓存那么进入下一步mysql分析器
mysql分析器 mysql分析器包括词法分析器和语法分析器分别对我们的sql语句进行词法分析和语法分析。词法分析器会先将sql语句进行分词我们的sql语句是由多个字符串和空格组成的词法分析器会以空格作为分隔符将sql进行分词得到分词结果集后便知道了这条sql要实现的操作意义了然后再用语法分析器对sql进行语法分析如果这个sql不符合sql语法规则则向客户端返回you have an error in your sql syntax这个错误信息并拒绝本次查询如果这个sql符合语法规则则进入下一步mysql优化器
mysql优化器 mysql优化器的作用是根据我们的sql语句制定执行方案制定一个能让这个sql实现最高的执行效率的执行方案执行方案制定完毕进入下一步mysql执行器
mysql执行器 mysql执行器的作用是去执行sql语句它会打开我们的sql所要访问的表然后调用这张表的引擎所提供的接口去执行sql查询查询完毕将结果缓存到查询缓存并返回结果给客户端。