
连接器:
- 数据库跟客户端建立连接
- show processlist 显示MySQL数据库的连接情况
- wait_timeout 默认8小时
- 长连接 短连接
- 长连接: 连接成功后,客户端持续请求,则一直使用同一个连接
- 短连接: 每次执行完几次很少的查询就断开连接,下次查询再重新建立连接
- 建立连接比较耗费性能,但是长连接时间长了又耗费内存
- 定期断开连接,在使用了一个占用大内存的连接后,断开连接,重新连接
- 每次使用一个较大连接后,执行mysql_reset_connection重新初始化资源.
查询缓存:
- 缓存以key-value的格式存在内存中
- 查询命中缓存,直接读取缓存
- 查询缓存弊大于利,后期MySQL 8.0后取消了
分析器:
- 格式化SQL
- 校验SQL的正确性
- 如果出错,注意 use near 后面的部分
优化器:
执行器:
- 判断用户是否有对表的执行权限,没有,报错返回
- 根据条件从数据库中获取数据返回
- 没有索引,查询全量表
- 有索引,从满足条件的第一条数据开始查询,知道直到数据不满足为止
- rows_examined 显示扫描多少行数据
相关文章:
-
2021-07-22
-
2021-07-26
-
2021-09-22
-
2022-01-06
-
2021-11-18
-
2021-12-21
-
2021-05-06
猜你喜欢
-
2022-12-23
-
2021-08-28
-
2021-09-13
-
2021-04-02
-
2022-01-13
-
2022-12-23
-
2021-07-04
相关资源
-
下载
2021-06-07
-
下载
2022-12-28
-
下载
2021-06-06
-
下载
2021-06-27