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

企业网站开发市场百度服务热线

企业网站开发市场,百度服务热线,网站后台模板关联自己做的网站,国内网页做的好看的网站mysql select执行流程如图所示 server侧 在8.0之前server存在查询语句对应数据的缓存,不过在实际使用中比较鸡肋,对于更新比较频繁、稍微改点查询语句都会导致缓存无法用到 解析 解析sql语句为mysql能够直接执行的形式。通过词法分析识别表名、字段名等…

在这里插入图片描述

mysql select执行流程如图所示

在这里插入图片描述

server侧

在8.0之前server存在查询语句对应数据的缓存,不过在实际使用中比较鸡肋,对于更新比较频繁、稍微改点查询语句都会导致缓存无法用到

解析

解析sql语句为mysql能够直接执行的形式。通过词法分析识别表名、字段名等关键字,语法分析判断是否满足mysql语法

执行

  1. 预处理阶段

    • 检查语句表、字段是否存在
    • 拓展*符号为所有列
  2. 优化阶段

    确定执行计划,依据最小IO、CPU成本来进行选择最优的索引、表关联顺序以及尝试优化where子句

  3. 执行阶段

负优化的情况

  • 统计信息不完整或者不准确。比如mysql mvcc可能会导致表行统计不准确
  • 执行计划成本不等同于实际执行成本。比如说虽然某执行计划要读取非常多的页面数据,但是可能这些数据已经在内存里面了,那么实际成本反而更低
  • mysql最优与开发者最优可能存在偏差。比如开发者希望执行时间越短越好,可是mysql只是基于其成本模型去选择
  • 不考虑其他并发执行查询
  • 存在固定规则
  • 不考虑不受其控制的操作成本。比如自定义函数
  • 有时候无法估算所有可能的执行计划

主键查询执行

对于语句SELECT * FROM t WHERE id = 1

  1. 根据优化器选择的const访问类型调用innodb引擎接口
  2. 引擎找不到主键id=1的记录,就会报错
  3. 若能找到就会交给执行器,执行器判断是否符合查询条件,如果符合就会发送客户端,不符合就跳过该记录

全表扫描执行

对于语句SELECT * FROM t WHERE name = 'apple'

  1. 根据优化器选择的all访问类型调用引擎接口
  2. 引擎全表扫描,读取记录交给server判断是否符合条件,符合条件server就会将记录发送客户端(客户端等待所有记录到达之后才会显示)
  3. 直到所有记录扫描完毕

索引下推执行

索引下推能减少二级索引查询的回表操作

对于联合索引a、b,有语句SELECT * FROM t WHERE a > 1 AND b = 2

  1. server调用引擎定位到第一条a>1的数据
  2. 引擎直接判断(而不是交给server判断)该数据是否b=2,若不满足,跳过;满足,直接返回给server

innoDB侧

在这里插入图片描述

缓存查询

在innoDB中存在buffer pool进行缓存表和索引数据。在查询中会检查查询的数据是否存在buffer pool,若存在直接返回,若不在则会继续查询

磁盘查询

如果是索引查询,那就按照B+树查询方式进行查询。如果是全表扫描,那就取出所有数据

Ref

  1. https://xiaolincoding.com/mysql/base/how_select.html
  2. https://pdai.tech/md/db/sql-mysql/sql-mysql-execute.html
  3. https://www.cnblogs.com/hoxis/p/10006871.html
  4. https://maimai.cn/article/detail?fid=1764866067&efid=0JFLnz3d_OGsnu4PbEUkFA
http://www.hkea.cn/news/348783/

相关文章:

  • 某网站栏目策划2022十大热点事件及评析
  • 德清网站建设中心优化大师官方免费下载
  • 生日网页制作免费网站制作代做网页设计平台
  • 学校类网站特点游戏优化大师官网
  • 手机电视网站大全河南网站建设定制
  • zblog做的商城网站上海有实力的seo推广咨询
  • 免费网站模板psd网络营销的整体概念
  • 网站模板下载破解版环球军事新闻最新消息
  • 徐汇苏州网站建设东莞免费建站公司
  • 厦门网站建设哪家强深圳网站维护
  • 政府网站新媒体平台建设关键词权重查询
  • 重庆网站建设制作公司百度客服人工在线咨询电话
  • 微信公众号平台入口官网奶盘seo伪原创工具
  • 泉州网站建设公司推荐宁德市地图
  • 大厂县住房和城乡建设局网站刷百度指数
  • 低代码开发平台优缺点昆山seo网站优化软件
  • 网站开发年终总结网络营销战略的内容
  • 建立门户网站的意义营销推广网
  • 网站建设网站软件有哪些百度推广开户费用标准
  • 找家装修公司家装吉林seo外包
  • 保定医疗网站建设公司会计培训班初级费用
  • 最好的销售管理系统seo发帖网站
  • 德州乐陵德州seo公司seo批量建站
  • 贵州省建设监理协会官方网站seo代运营
  • 北京哪家做网站优化账号权重查询
  • 大唐网站建设培训管理平台
  • 男人和女人在床上做那个网站网络营销策划推广公司
  • 深圳市招投标交易中心天津谷歌优化
  • 厦门园网站忱建设百度推广怎么联系
  • 网站优化页面动态网站建设