上QQ阅读APP看本书,新人免费读10天
设备和账号都新为新人
2.4 SQL查询的处理步骤
在2.3节中我们学习了SQL的几种功能,但我们在数据分析过程中,主要使用的是DML中的查询,接下来我们就看一下运行一条SQL语句会经过哪些步骤。主要包含四个步骤:查询分析、查询检查、查询优化和查询执行。
2.4.1 查询分析
第一步就是查询分析,首先扫描全部的SQL语句,然后进行词法和语法分析,所谓的词法和语法分析,就是判断查询语句是否符合SQL语法规则,比如,查询的列名与列名之间是否有逗号分隔,如果不符合语法规则,查询则会停止,并显示出具体的语法错误;如果符合语法规则,则进入下一步。
2.4.2 查询检查
第二步是查询检查,这一步主要是对经过第一步分析的查询语句进行语义检查,所谓的语义检查,就是根据数据字典判断查询语句中涉及的数据库、数据表、列等信息是否存在,如果不存在,查询则会停止,显示出具体错误;如果全部存在,则进入下一步。
2.4.3 查询优化
每个查询语句都会有多种执行策略,查询优化就是根据具体情况选择一个效率最高的执行策略,具体是怎么选择的,读者可以先忽略,只需要知道数据库会执行这个步骤即可。
2.4.4 查询执行
最后一步就是对经过前面三个步骤以后得到的查询语句进行执行,并对查询结果进行返回。
关于本节内容,读者有一个了解即可,当看到一个语法报错的时候,知道这是在进行查询分析;当看到报错说某某列不存在的时候,知道这是在进行查询检查就可以了。