极客时间 Mysql实战45讲学习笔记一

1, mysql的基本架构
极客时间 Mysql实战45讲学习笔记一_第1张图片

2,各组件功能

  • 1)存储引擎层和server层是可分离的,插件式的,默认的是InnoDB
  • 2)连接器:负责与客户端建立链接,获取权限,维持和管理链接
      mysql -h -P(前两个不写则使用默认) -u -p
      连接成功的时候,连接器会在权限表中查出拥有的权 限,之后链接里的权限判断,都依赖此时读取的权限,所有链 接建立之后,再修改权限对此次链接无效。
      使用show processlist可以查看链接状态,sleep表示空闲
      链接等待时间由参数wait_timeout控制,默认为8小时
      建立链接比较复杂,条件允许尽可能使用长连接。
      长连接占用内存较大的解决办法(执行中使用的内存都是管理在链接对象中的),
        定期断开
        每次执行完一个比较大的操作的时候,使用 mysql_reset_connection初始化链接资源
  • 3)查询缓存,拿到请求之后首先会查询缓存,mysql8.0此功能已删除
  • 4)分析器,词法分析,语法分析,语义分析,在这里会返回You have an error in your SQL的错误消息,这里会检查表信息,会抛出表字段不存在等错误消息
  • 5)优化器,选择索引,执行方案等操作,
  • 6)执行器,会进行权限判断,返回没有权限的错误,这里会根据表的引擎定义,调用相应的存储引擎接口

你可能感兴趣的:(学习笔记)