添加链接
link管理
链接快照平台
  • 输入网页链接,自动生成快照
  • 标签化管理网页链接

查询的执行路径

查询执行路径: 先查缓存,缓存未命中交给解析器。MySQL是允许多个用户连接进来的,因此有多个线程,如果每个线程上的用户都发起查询请求,而mysql真正能够执行查询的查询引擎只有一个,所以要排队,要给一个队列。 所以就需要有查询执行计划和查询执行引擎。但是查询执行引擎不能直接去硬盘取数据,所以查询引擎是接收查询执行计划传递而来的优化器优化后的查询语句,它负责转换为对应表的存储引擎的API调用。后面的数据获取是由对应的存储引擎负责到磁盘上取数据,并将数据返回给执行引擎,最后在层层返回给客户端,返回客户端之前有可能要判断要不要缓存下来。比如查当前系统时间,这个就没必要缓存下来了。查询的结果缓存与否,用户是可以定义的。当然不是说用户想缓存就一定能缓存。

MySQL的查询操作

使用SELECT语句查询数据,查询语句的通用语法格式:

SELECT values_to_dispaly
FROM table_name 
WHERE expression
GROUP BY how_to_group
HAVING expression
ORDER BY how_to_sort
LIMIT row_count;

查询又可分为:

  • 单表查询:也称为简单查询
  • 多表查询:也称为连接查询
  • 选择和投影:就是关系代数,其实SELECT主要就包括这两方面

  • 投影:挑选要显示的字段
  • 选择:挑选符合条件的行
  •