为何称MySQL为黑盒?
对于大部分的开发人员而言,编写增删查改的sql语句通过数据库连接去操作数据库,但并不关心数据库是如何监听请求和从连接中把请求数据中提取出来,往往在意表结构,sql执行效率慢就给他们建立索引,完全把MySQL当作黑盒子去使用。
1. 网络连接必须使用线程来处理
MySQL 使用内部线程来实现监听和读取请求。
2. SQL接口:负责处理接收到的sql语句
MySQL通过sql接口把我们平时编写的sql语句简单化,让我们轻松地学会和编写sql语句,但其底层实现其实是非常复杂。当工作线程接收到sql语句之后,会交给sql接口去执行。
3. 查询解释器:让MySQL看懂sql语句
MySQL是一个数据管理系统,并不能像我们一样直接读懂sql语句,例如:
select id, name, age from users where id = 1
复制代码
需要借助组件 查询解析器 对sql语句进行解析和拆解,拆解成以下几部分:
- from users: 我们需要从 users 表里面查询数据
- where id = 1 :查询id字段值为1的那行数据
- select id, name, ag