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

几个问题?
  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操作

【腾讯云】轻量 2核2G4M,首年65元

阿里云限时活动-云数据库 RDS MySQL  1核2G配置 1.88/月 速抢

本文由乐趣区整理发布,转载请注明出处,谢谢。

您可能还喜欢...

发表回复

您的电子邮箱地址不会被公开。 必填项已用*标注

此站点使用Akismet来减少垃圾评论。了解我们如何处理您的评论数据