1.词法分析
输入:sql语句
输出:合法单词
2.语法分析
输入:合法单词
输出:语法树
3.查询数据字典
输入:语法树
输出:机器懂的语法树
4.执行计划执行
输入:语法树
输出:执行计划树
查询优化(optimization)
执行计划
5.虚拟指令生成
输入:执行计划树
输出:可执行的虚拟指令
6.虚拟指令执行
输入:虚拟指令
输出:执行结果
为什么采用虚拟指令模式?
(1)执行仅仅依赖亍虚拟指令,扩展sql时,无需修改底层;
(2)便于调试,检查虚拟指令集就可以知道执行的正确性;
(3)减少耦合,提高独立性;
(4)底层集中优化;
转载于:https://my.oschina.net/wzwitblog/blog/152824