2019-04-24
SQL在解析阶段的语法检查的原理和过程
SQL在share pool里面的Dictionary Cache查询来执行语义检查,知道客户端查询语句是否存在对象,是否存在对象列,是否存在权限。那请问语法检查是如何执行的?是内置有语法解析的工具吗?share pool怎么知道select语句写错了?
收藏
分享
5条回答
默认
最新
回答交流
提交
问题信息
请登录之后查看
邀请回答
暂无人订阅该标签,敬请期待~~
墨值悬赏
SQL在share pool里面的Dictionary Cache查询来执行语义检查,知道客户端查询语句是否存在对象,是否存在对象列,是否存在权限。那请问语法检查是如何执行的?是内置有语法解析的工具吗?share pool怎么知道select语句写错了?
server process会进行语法分析,并根据数据字典进行权限分析,通过后再进行parse(可能是soft parse或者hard parse)
评论
有用 0那我就不清楚了。第一,Oracle是闭源软件,不会公开代码。第二,具体如何进行语法解析,对使用者完全没有意义。你要是想知道一些开源数据库的语法解析过程,倒是可以从源码中获取。
评论
有用 0
评论
有用 0
墨值悬赏