Month: April 2013

MySQL主干流程中涉及到的代码的位置

1. main()在sql/mysqld.cc中 2. 接收请求的函数是: handle_connetions_sockets() , sql/mysqld.cc 3. 处理请求的入口:handle_one_connection() , sql/sql_parse.cc 4. 分发:command: do_command()和dispatch_command(), sql/sql_parse.cc 5. 解析query: mysql_parse(), sql/sql_parse.cc 6. 优化:mysql_select(),  sql/sql_select.cc 7. 表锁相关:mysql_lock_table() in sql/lock.cc及其它 8. 表数据变更:mysql_update() sql/sql_update.cc 及其它 9. 存储引擎接口: handler类及其部分函数的实现, sql/handler.h,  sql/handler.cc 10. Innodb实现:sl/ha_innodb.h, sql/ha_innodb.cc 11. 状态回送: mysqld_show() in sql/sql_sow.cc 及其它