Mysql面试(一)

一条sql语句是如何执行的?

1.首先进来是连接器,连接器负责跟客户端建立连接,获取权限,维持和管理连接。
连接命令mysql -h i p − p ip -p ippport -u$user -p
连接成功后,连接器会到权限表查出你拥有的权限。一个建立好的连接,即使你登录管理员账号修改其权限,也不会影响已存在连接的权限,只有在新建的连接才有新的权限。
可以使用show processlist查看连接状态。
如果长时间没有动作,连接会处于sleep状态。
如果客户端长时间没动静,连接器会自动将他断开。由参数wait_timeout设置,默认8小时。
什么是长连接:
连接成功后,如果客户端持续有请求,则一直使用同一个连接。
什么是短连接:
指每次执行完很少的几次查询就断开连接,下次查询再重新建立一个。
建立连接的过程通常是比较复杂的,建议在使用中要尽量减少建立连接的动作,也就是尽量使用长连接。
2.接下来是分析器,需要知道你要做什么,所以对sql语句做解析。
分析器会先进行词法分析,检测每一个单词,做完词法分析后是语法分析。
语法分析会判断你输入的sql语句是否满足sql语法。
3.优化器,在开始执行之前,还要经过优化器处理
优化器是在表中有多个索引时决定用哪个索引。或者在多表连接时决定表的顺序。
4.执行器,开始执行语句
开始执行之前,会先判断是否对该表有执行查询权限。如果有权限就打开表调用引擎提供的接口。
至此一条sql语句执行完毕。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值