mysql 执行计划中的疑问

图片说明
请问mysql执行计划 中id=2的子查询需要依赖gr 的select结果 为什么执行优先级却比gr高呢呀 就是 他先执行的话 怎么得到gr.group_id这个值呢 以及如何吧数据从存储引擎查询到服务器呢

根据你提供的执行计划图,我们可以看到id=2的子查询是依赖于id=3的执行结果的。在执行id=2查询之前,MySQL需要先执行id=3的查询,以便获取所需的gr.group_id值,然后将这个值传递给id=2的子查询进行处理。因此id=3的查询的优先级比id=2的子查询更高。

至于如何将数据从存储引擎查询到服务器,MySQL会使用存储引擎的API,通过TCP/IP、Unix域套接字等协议与存储引擎进行通信,并将查询结果传回MySQL服务器进行处理和显示。MySQL支持各种不同类型的存储引擎,每种存储引擎有其自己的API,因此MySQL能够与这些不同类型的存储引擎进行通信并获取查询结果。