(主要对执行的 SQL优化选择最优的执行方案方法)
执行器(执行时会先看用户是否有执行权限, 有才去使用这个引擎提供的接口)
去引擎层获取数据返回(如果开启查询缓存则会缓存查询结果)
接下来我将按照 MySQL...当客户端(应用)连接到 MySQL服务器时, 服务器需要对其进行身份验证, 身份验证基于用户名, 密码, 主机ip和端口号, 客户端连接成功之后, 服务器会继续验证该客户端的查询权限(例如, 是否有查看...user库的权限, 是否允许对mysql库的user表进行SELECT)
创建新连接时身份验证基本信息
分析优化和执行
查询缓存
在执行一条 SELECT查询语句的时候会先去查询缓存看能否直接命中, 能命中就直接返回...同一个事务两次执行相同语句可能会看到不同的数据结果, 不可重复读
M可重复读(REPEATABLE READ): 同一个事务在多次读取相同行数据的结果相同
当一个事务执行范围查询过程中, 另外一个事务对该范围进行了插入操作...其会在读取的每一行数据都进行加锁操作
多个事务之间引发的隔离问题
脏读: 读取未提交的事务
不可重复读: 同一个事务两次执行相同语句可能会看到不同的数据结果
幻读: 当一个事务执行范围查询过程中,