首页 > 其他 > 详细

sfjc面试记录

时间:2019-09-23 22:05:02      阅读:89      评论:0      收藏:0      [点我收藏+]

1、MySQL工作原理

  MySQL主要组件:

  ① Connectors:与客户端工具和其他编程语言中的sql 语句进行交互

  ② Connection Pool (连接池):管理缓冲用户连接,线程处理等需要缓存的需求

  ③  Management Serveices & Utilities:处理器/系统管理和控制工具

  ④ SQL Interface (SQL接口):接受用户的SQL命令,并且返回用户需要查询的结果。

  ⑤ Parser (解析器):SQL命令传递到解析器的时候会被解析器验证和解析。

    主要功能:

    a . 将SQL语句分解成数据结构,并将这个结构传递到后续步骤,后面SQL语句的传递和处理就是基于这个结构的

    b.  如果在分解构成中遇到错误,那么就说明这个sql语句是不合理的,语句将不会继续执行下去

  ⑥ Optimizer (查询优化器,可以利用explain语法查询SQL语句的执行计划)

    SQL语句在查询之前会使用查询优化器对查询进行优化(产生多种执行计划,最终数据库会选择最优化的方案去执行,尽快返会结果) 他使用的是“选取-投影-联接”策略进行查询。  

  ⑦ Cache和Buffer (查询缓存)

  ⑧ Engine (存储引擎)

  1)连接器(connector)拿到程序请求,将请求暂时存在连接池(connection pool)中,并有处理器(Management Sercice&Utilities)管理。

  2)当该请求从等待队列进入处理队列,管理器(Management Service&Utilities)会将该请求丢给SQL接口(SQL interface)

  3)SQL接口(SQL interface)接收到请求后,它会将请求进行hash处理并与缓存(Cache和Buffer)中的结果进行对比,若匹配则返回缓存(Cache和Buffer)中的结果,否则继续完整流程。

  4)SQL接口(SQL interface)把请求传递给解析器(Parser),解析器(Parser)判断SQL是否正确,正确则转换为数据结构,进行后续步骤,错误中断执行,返回

  5)解析器(Parser)将数据结构传递给优化器(Optimizer),优化器(Optimizer)会产生多种执行计划,选择最优的执行计划执行

  6)确定最优的执行计划后,SQL会交给存储引擎(Engine)来处理,存储引擎从存储设备中取得相应数据,原路返回给程序

  附:参考博客:https://www.cnblogs.com/daijw/p/9250331.html
2、MySQL有哪些引擎
3、数据库一般用什么字段作为索引
4、mybatis工作原理
5、引入小公司开发的开源组件,产生了bug怎么办?当初怎么考虑的?
6、Linux,查看进程用了哪些端口号,如何查看建立的连接
7、Linux上可以生成Excel文件么
8、如何在jvm启动时提高某个应用的内存
9、数据库优化
10、kafka原理
11、对springboot有哪些了解?用过哪些注解。
12、springboot和spring的区别
13、springboot集成mybatis,如何开启驼峰命名法
14、了解过哪些新技术
15、long类型的字段,传到前台后面出现00怎么解决
16、将哪些数据缓存到redis里面,用户更改缓存的数据怎么办?

17、你参数与了项目的重构,基于什么考虑重构呢?你们项目重构前端使用了angular,花了多长时间学习呢?

sfjc面试记录

原文:https://www.cnblogs.com/codewy/p/11574530.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!