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

宝安印刷网站建设青海建设工程信息网站

宝安印刷网站建设,青海建设工程信息网站,网络科技公司网站源码,wordpress付款后查看内容Mysql架构是什么?实际可以理解为执行一条sql语句所要经历的阶段有哪些! 1.连接层 (1)客户端发起连接 客户端通过TCP/IP、Unix Socket或命名管道等方式向Mysql服务器发起链接请求 想要了解tcp与udp的区别,可以参考这…

Mysql架构是什么?实际可以理解为执行一条sql语句所要经历的阶段有哪些!

1.连接层

(1)客户端发起连接
   客户端通过TCP/IP、Unix Socket或命名管道等方式向Mysql服务器发起链接请求

 想要了解tcp与udp的区别,可以参考这篇文章
https://blog.csdn.net/ymb615ymb/article/details/123449588?ops_request_misc=%257B%2522request%255Fid%2522%253A%252293c621ab4e488bbc0967bd9f87bd4418%2522%252C%2522scm%2522%253A%252220140713.130102334..%2522%257D&request_id=93c621ab4e488bbc0967bd9f87bd4418&biz_id=0&utm_medium=distribute.pc_search_result.none-task-blog-2~all~top_positive~default-1-123449588-null-null.142^v102^pc_search_result_base7&utm_term=tcp%E4%B8%8Eudp%E7%9A%84%E5%8C%BA%E5%88%AB&spm=1018.2226.3001.4187

(2)服务端接受链接

  当mysql服务器接收到客户端发来的请求后,服务器会建立一个线程或者连接句柄来处理客户端      的请求

  大致来讲,如果把mysql服务器当做一个进程的话,那么与每个客户端建立的链接则可以当做一个线程

(3)身份验证
  连接层会验证客户端提供的用户名和密码
  验证通过后,连接层会检查客户端是否有权限访问指定的数据库
  如果验证失败,连接层会拒绝链接并返回错误信息

(4)处理客户端请求
  客户端发送sql查询或者其他请求
  连接层将请求传递给查询解释器和优化器(解释器和优化器在后面会讲到)进行处理
  查询执行完成后,连接层将结果返回给客户端

 (5)关闭链接

2.缓存层

 缓存层是mysql中比较鸡肋的部分....


 与其他应用中的缓存器一样,mysql缓存层目的是为了减少数据库负载(即多次查询相同的数据库内容),提高反应速度


  但是mysql是通过sql语句来记录是否执行缓存层的,什么意思?


 如我想查询学生表中的所有信息,理论上   select * from students 与  select * from         students查询的结果是一样的,但是两个语句之间空格数量一样,缓存层就会认为这是不同的语句,无法发挥缓存的作用


  所以mysql5.6/5.7版本中存在缓存层,但是默认是关闭的,而mysql.8.0则是直接去掉了缓存部分,用相应的业务层来做缓存

3.解释层

(1)解析sql语句
        解析sql语句会用到解析器组件(如第三方解析器组件Druid)
        解析sql语句步骤:
        客户端将sql语句传到mysql服务器->解析该sql语句 词法和语法解析(关键字、条件、判断表和字段是否存在)->生成解析树

      

 (2)交给优化层


4.优化层


    要想从北京去往上海是有多条路径的但是哪个是最优路径呢,那就得交给优化层了

1)对于整个sql进行优化 优化器会对sql的条件进行调整 生成各种执行计划
 (2)对sql进行具体优化 去掉没必要的条件 EXPLAIN SELECT * FROM USER WHERE 1=1; SELECT*FROM USER;
   (3)优化器会选择合适的索引 但优化器不是万能的并不能全部优化成功 需要人工干预 慢查询就是例子

 


5.执行器与存储引擎

  存储引擎在MySQL的逻辑架构中位于第三层,负责MySQL中的数据的存储和提取。MySQL存储引擎有很多,不同的存储引擎保存数据和索引的方式是不同的。每一种存储引擎都有它的优势和劣势。
可以使用 show engines; 命令来查看当前数据库所支持的所有的存储引擎。


 

举例:
有的时候可能需要查询速度快,不需要持久化,基于内存的操作,那么可以使用memory引擎。
有的数据是历史数据,基本上不会新增及其查询,提供压缩的功能就可以使用archive引擎。
有的时候需要非常多的 读写,并发,数据一致性的操作,可以使用innodb引擎


文章转载自:

http://EaA9mbaE.kmqjx.cn
http://KiHSEPPh.kmqjx.cn
http://8wI7lpTa.kmqjx.cn
http://vo9zzr7z.kmqjx.cn
http://BZTFBLoe.kmqjx.cn
http://HaSO1RiQ.kmqjx.cn
http://7WUUOZPj.kmqjx.cn
http://pu3TD63u.kmqjx.cn
http://Al9ujdls.kmqjx.cn
http://jhdTZWHA.kmqjx.cn
http://FoHTB8qM.kmqjx.cn
http://scJ0BFgn.kmqjx.cn
http://gtRBSAwl.kmqjx.cn
http://fBcpWVd9.kmqjx.cn
http://ldx8QDJr.kmqjx.cn
http://qVd774SL.kmqjx.cn
http://Fant8Upc.kmqjx.cn
http://EGVVOOwq.kmqjx.cn
http://o1nfoptW.kmqjx.cn
http://OBtEYi41.kmqjx.cn
http://PDIeGiMY.kmqjx.cn
http://wLuIlbgG.kmqjx.cn
http://sh71VUaq.kmqjx.cn
http://K2ja6J5x.kmqjx.cn
http://Opfkm4Ub.kmqjx.cn
http://DxiPyTDi.kmqjx.cn
http://DrKOKHbP.kmqjx.cn
http://0RQ35CK5.kmqjx.cn
http://E6NB78F5.kmqjx.cn
http://F5cfzFaB.kmqjx.cn
http://www.dtcms.com/wzjs/737007.html

相关文章:

  • 网站源码上传到哪个文件夹国外网站推广平台有哪些公司
  • 重庆美邦 网站建设怎样先做网站后买域名
  • 网站建设的开发的主要方法杭州公司注册代理中介
  • 怎样用源代码做网站网站开发中遇到的技术问题
  • flash个人网站模板网站开发一般要哪些开发工具
  • 空港经济区内的建设工程网站腾讯云wordpress博客
  • 领导不愿意做招聘网站怎么办建设部考试中心网站
  • 网站审核照片幕布品牌网站建设 蝌蚪小7
  • 百度权重查询网站iis编辑网站绑定
  • 建设银行网站修改密码Wordpress付费主题排名
  • 网站挂百度推广绍兴seo公司
  • 国外网站网站视频互动网站建设
  • 桂林网站建设制作宣传片视频
  • 建筑公司网站源码 php微商城新零售app
  • html5公司网站欣赏常用网站建设软件有哪些
  • 免费做试卷的网站长春建站费用
  • 在印度做视频网站视网站亏损了为什么还做
  • 网站管理人员队伍建设有待加强新乡商城网站建设
  • 做相册的网站(网易开发公司行政专员岗位职责360文库
  • 文章响应式网站代人做网站
  • 外贸 静态网站 怎么做营销网站建设是什么
  • 智能建站系统排行wordpress 主题 搜索引擎
  • 做卡盟开端网站要多少钱ppt免费模板大全
  • 手机wap网站模板沧州市注册网络公司
  • 电商网站建设前的市场分析内容网站制作与网页制作
  • 湖北seo网站推广网站建设及目标
  • 手机自助建网站wordpress iis 发布
  • 模板网站 知乎威海网站制作团队
  • 宁波企业网站制作要多少钱企业英文网站建设
  • 安徽网站建设信息怎样才能做自己的网站