一条SQL查询语句怎么样施行的?
MySQL 都是什么零件?
- 连贯器:治理连贯,权限验证。
- 剖析器:词法剖析,语法剖析。
- 优化器:施行规划生成,索引选中。
- 施行器:操纵存储引擎,返回效果。
存储引擎:存储数据,供给读写接口。
相干学习举荐:mysql视频教程
连贯器
首先步,我们会先连贯到 MySQL 数据库,此时就是连贯上连贯器。连贯器负责和客户创立连贯,猎取权限,保持和治理连贯。
mysql -h $ip -u root -p
查询缓存
创立好连贯之后,我们就可以运用 SELECT 语句了,施行逻辑就会来到第二步:查询缓存。MySQL 会此刻查询缓存看看以前是不是施行过这条语句,要是有就直接返回。在 MySQL 8.0 之后,此模块已被移除。
剖析器
要是没有查询缓存,从这里 MySQL 就要开端剖析我们要干什么,需要对我们编写 SQL 语句进行剖析。剖析器会先做词法剖析,辨认出字符串以及它代表的含义。然后再进行语法剖析,推断我们编写的 SQL 语句有没有差错,要是有差错就会抛出差错。
优化器
经过了剖析器之后,MySQL 晓得你要干什么了,此时优化器会依据表构造以及语句目的来决议运用哪个方案。
施行器
MySQL 通过剖析器晓得了我们要做什么,通过优化器晓得了该怎么做效率最高。于是就可以进入施行器,真正施行 SQL 语句了。
select * from users where name = ‘operator'
假如 users 表中,name 字段上没有创立索引,那么施行器调取 InnoDB 引擎接口取首先行,推断 name 是不是等于 operator,如不是则跳过,要是是就放在效果集中。然后再调取引擎接口取下一行,反复雷同的逻辑推断,直到取到这个表的最后一行。最后将效果集返回给客户端。
以上就是一条 SQL 查询语句怎么样施行的?的细致内容,更多请关注 百分百源码网 其它相干文章!