暂无图片
暂无图片
暂无图片
暂无图片
暂无图片

mysql 学习

原创 忘忧草 2022-07-04
196

1.优化器

当解析器把SQL语句解析出来步骤以后,紧接着会通过优化器来选择一个最优的查询路径,这个是对于我们编写的超大型复杂SQL时十分有用,一条SQL语句可能会对应多个不同的查询路径树,优化器会从中选择一个最优路径出来,返回一个这个语句的执行方案交给下一步进行继续处理。

2.执行器

这一步就是根据上一步骤优化器生成的SQL执行方案,去调用存储引擎的接口(InnoDB、mysam)完成SQL语句的执行计划,这个SQL引擎操作的有可能是内存数据,也有可能是磁盘文件。

  1. 内存缓冲池

InnoDB中有一个非常重要的内存组件——缓冲池(Buffer Pool),这里会缓存很多数据便于查询时,直接从读取缓存数据,而不需要访问磁盘。在执行更新操作时,如对“id=007”数据进行更新,会先查询BufferPool中是否存在,不存在的话,就从磁盘中加载到缓冲池中来,然后还要对这行记录加独占锁。

「喜欢这篇文章,您的关注和赞赏是给作者最好的鼓励」
关注作者
【版权声明】本文为墨天轮用户原创内容,转载时必须标注文章的来源(墨天轮),文章链接,文章作者等基本信息,否则作者和墨天轮有权追究责任。如果您发现墨天轮中有涉嫌抄袭或者侵权的内容,欢迎发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。

评论