是客户端工具, 用来与服务器建立连接, 连接的方式也是tcp, 认证用户名和密码
如果用户名或密码不对,你就会收到一个"Access denied for user"的错误,然后客户端程序结束执行
如果用户名密码认证通过...,然后将字符串"T"识别为"表名T",将"字符串ID"识别成"列ID"
语法分析:语法分析器会根据语法规则,判断你输入的这个sql语句是否满足mysql语法
如果语句不对,会收到错误提示
image.png...优化器
经过分析器后, mysql知道你要做什么, 在开始执行前还要经过优化器的处理
优化器是在表里面有多个索引的时候,决定使用哪个索引, 或者在一个语句有多表关联(join)时, 决定各个表的连接顺序...执行器将上述结果集返回给客户端
对于有索引的表,执行逻辑基本也就这样,第一次调用的是"取满足条件的第一行", 后续调用的是"满足条件的下一行", 这些接口引擎中已经定义好了
数据库慢查询日志中有rows_examined...原因是因为sql语句要操作的表不只是sql字面上哪些, 比如有个触发器, 只有在执行过程中才能确定
大白话
连接器:门卫,想进请出示准入凭证(工牌、邀请证明一类)。