关于mysql:Mysql执行过程几个问题

3次阅读

共计 621 个字符,预计需要花费 2 分钟才能阅读完成。

几个问题?
  1. Mysql 的框架有几个组件,各个组件有什么作用?
  2. Mysql 的 server 层和存储引擎层各有什么作用?
  3. you have an error in your SQL syntax 这个报错是在词法剖析外面还是在语法分析外面?
  4. 对于表的操作权限是在哪里进行?
1 答:

mysql 有五个组件,别离是:
连接器:(客户端和服务端链接,用户名明码的校验)
查问缓存:(mysql 8.0 之后默认删除此性能)sql 语句(key) => 后果(value)
分析器:词法剖析和语法分析(词法剖析的后果,语法分析器会依据语法规定,判 断你输出的 sql 语句是否满足 mysql 语法。如果你的语句不对,就会收到“you havean error in you SQL syntax” 揭示。
优化器:优化 sql 语句,是否有索引,链接形式
执行器:判断你对表有没有执行查问的权限,如果没有机返回没有权限的谬误,如下所有(如果在查问缓存中命中缓存,查问也会在优化器调用 Precheck 验正权限

2 答:

server 层包含连接器,查问缓存,分析器(词法语法分析),优化器,执行器等,涵盖了 mysql 的大多数外围性能,以及所有内置函数(如日期、工夫、数学),所有跨存储引擎的性能都在这一层实现,比方存储过程、触发器、视图等。
存储引擎负责数据的存储和提取。其架构模式是插件式的,存储引擎有 innodb,myisam,memory。

3 答:

这条报错切实分析器中的语法分析报错的。

4 答:

执行器,执行器在执行之前会 precheck 操作

正文完
 0