MySQL是如何查询一条语句的
1.执行流程介绍
我们使用MySQL示例数据库sakila,待分析SQL语句如下
mysql> select customer_id,first_name,last_name from customer where
customer_id=14;
上面给出的是 MySQL 的查询流程示意图,从中你可以清楚地看到 SQL 语句在 MySQL 的各个功能模块中的执行过程。
大体来说,MySQL 可以分为 Server 层和存储引擎层两部分
- Server 层:所有跨存储引擎的功能都在这一层实现,都在这一层。包括连接器、查询缓存、分
析器、优化器、执行器等,涵盖 MySQL 的大多数核心服务功能,所有跨存储引擎的功能都在这一
层实现。 - 存储引擎层:负责数据的存储和提取。其架构模式是插件式的,支持 InnoDB、MyISAM、Memory等多个存储引擎。现在最常用的存储引擎是 InnoDB,它从 MySQL 5.5.5 版本开始成为了默认存储引擎。
1.1连接器
mysql -h$ip -P$port -u$user -p
客户端和服务器建立连接,如果用户名、密码不对,都会在此处给出反馈。
连接命令中的mysql是客户端工具,用来跟服务端建立连接。在完成经典的TCP握手后,连接器就要开始认证你的身份,这个时候用的就是你输入的用户名和密码
- 如果用户名或密码不对,你就会收到一个