sql server 读取password_hash_一句SQL在执行过程中发生了什么?

2643fb8601fe3be1549b986781f4e35b.png

首先MYSQL是典型的C/S架构,即Client/Server架构,服务器端程序使用mysqld,主要包括三层:

  1. 连接层:客户端与服务端进行连接,客户端发送SQL给服务端;
  2. SQL层:对SQL进行查询处理;
  3. 存储引擎层:操作数据库文件,负责数据库的存储与读取;
f675931e5fc650f0551a30bfcb40b2b5.png

SQL层的执行顺序;

  1. 查询缓存:如果查到之前有缓存,则直接返回结果,如果没有,进入下一步,因为效率太低,8.0之后去掉了这个功能;
  2. 解析器:对语句进行语法、语义分析;
  3. 优化器:确定sql的执行路径,比如全表检索、索引检索;
  4. 执行器:判断用户是否有权限,有权限就返回结果,如果是8.0以下的版本还会进行缓存;

收集mysql执行时所使用的资源情况:

select @@ profiling

如果=0代表关闭,以下代码打开:

set profiling=1

执行完一个语句之后,如下方式查看占用资源:

show profiles

也可以指定查询的query id,

show profile for query 2
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值