MySQL笔记(一个简单select的函数调用过程)

一个select语句的执行函数调用

1.handle_connections_socket(/sql/mysqld_cc),循环监听客户端请求;
2.handle_one_connection(),识别查询命令,将控制权转给3;
3.do_command(sql/sql_parse.cc),从连接处读入查询命令,并传递给4.
4.dispatch_command()(sql/sql_parse.cc),把查询命令传递到解析器
5.使用LEX和YACC来分解SQL命令
6.mysql_excute_command(),根据命令,进入一个适当的子函数(如select)
7,my_select()
8.join->prepare和join->optimize(),对查询过程进行优化
9.do_select()
10.sub_select(),调用某个存储引擎去读取并处理元组。
11.将结果返回给用户
12.将控制权返回给1.

你可能感兴趣的:(select)