开发者社区> 问答> 正文

执行SQL语句的顺序是什么?

执行SQL语句的顺序是什么?

展开
收起
芯在这 2021-12-08 13:59:22 536 0
1 条回答
写回答
取消 提交回答
  • 对读入的SQL语句进行解析(Parse)

    分辨出SQL语句中哪些词是关键词(如SELECT、FROM、WHERE);

    哪些是表达式;

    哪些是Projection;

    哪些是Data Source等;

    从而判断SQL语句是否规范;

    将SQL语句和数据库的数据字典(列、表、视图等等)进行绑定(Bind)。

    如果相关的Projection、Data Source等都是存在的话,就表示这个SQL语句是可以执行的。

    一般的数据库会提供几个执行计划,这些计划一般都有运行统计数据,数据库会在这些计划中选择一个最优计划(Optimize)。

    计划执行(Execute),按Operation–>Data Source–>Result的次序来进行。

    在执行过程有时候甚至不需要读取物理表就可以返回结果。

    比如重新运行刚运行过的SQL语句,可能直接从数据库的缓冲池中获取返回结果。

    2021-12-08 13:59:56
    赞同 展开评论 打赏
问答分类:
SQL
问答标签:
问答地址:
问答排行榜
最热
最新

相关电子书

更多
SQL Server 2017 立即下载
GeoMesa on Spark SQL 立即下载
原生SQL on Hadoop引擎- Apache HAWQ 2.x最新技术解密malili 立即下载