(1)客户端发送一条查询给服务器;
(2)服务器先会检查是否命中缓存,这是通过哈希查找实现的。如果恰好命中了缓存,MySQL还会检查一次用户权限,如果权限没有问题,就会返回结果给客户端,跳过后面的步骤;
(3)服务器端进行SQL解析、预处理、再由优化器生成对应的执行计划。这期间是通过查询解析器、查询重写器、查询优化器、查询执行器来协同运行的。
(4)MySQL根据优化器生成的执行计划,调用存储引擎的API来执行查询;
(5)将结果返回给客户端。
(1)客户端发送一条查询给服务器;
(2)服务器先会检查是否命中缓存,这是通过哈希查找实现的。如果恰好命中了缓存,MySQL还会检查一次用户权限,如果权限没有问题,就会返回结果给客户端,跳过后面的步骤;
(3)服务器端进行SQL解析、预处理、再由优化器生成对应的执行计划。这期间是通过查询解析器、查询重写器、查询优化器、查询执行器来协同运行的。
(4)MySQL根据优化器生成的执行计划,调用存储引擎的API来执行查询;
(5)将结果返回给客户端。