首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >解析查询意味着什么?

解析查询意味着什么?
EN

Stack Overflow用户
提问于 2014-08-22 19:48:24
回答 3查看 40.7K关注 0票数 9

大多数关系数据库分四个步骤处理JDBC / SQL查询:

  1. 解析传入的SQL查询
  2. 编译SQL查询
  3. 计划/优化数据采集路径
  4. 执行优化的查询/获取和返回数据

我想知道“解析传入的查询”到底是什么意思?“计划/优化数据采集路径”是什么意思?

EN

回答 3

Stack Overflow用户

发布于 2014-08-22 19:50:05

  1. 解析意味着检查字符输入并将其识别为命令或语句,方法是查找字符中的关键字和标识符,忽略注释,将引用的部分安排为字符串常量,并将整体结构与语言语法进行匹配,使其具有意义。
  2. 计划/优化意味着找出(在所有可能的方法中)确定结果的最佳方法,通常是与执行时间有关。这也意味着尽可能减少所需的锁数。也许可以忽略查询的某些部分(where ... and 1 == 1),或者根本不需要访问表,等等。
票数 2
EN

Stack Overflow用户

发布于 2014-08-22 19:55:46

解析是编译的过程之一。

编译器的阶段:

来源:编译阶段

票数 2
EN

Stack Overflow用户

发布于 2014-08-22 19:54:56

1)解析:根据SQL语法规则等对查询进行语法分析,并试图将查询“标记”为基本部件形式。

2)计划/优化:在这个阶段,SQL引擎试图评估执行查询的最佳方法是什么。它试图利用现有的索引、集群和表关系;找到绕过全表扫描的方法,通过避免重复读取数据等有效地利用缓存。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/25454585

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档