度量快速开发平台-专业、快速的软件定制快开平台

 找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
热搜: 部件 流程 SQL
查看: 662|回复: 8
打印 上一主题 下一主题

[分享] sql语句处理流程

[复制链接]

328

主题

3738

帖子

8566

积分

作者

Rank: 7Rank: 7Rank: 7

积分
8566
QQ
跳转到指定楼层
楼主
发表于 2020-6-6 14:45:49 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
SQL语句所要经过的几部分:
    一、连接到数据库
    二、创建游标
    三、提交sql语句到oracle数据库进行处理
    四、响应查询提交,返回从oracle数据库中检索出的数据

sql语句的处理流程
    连接到数据库-->创建游标-->有效性检验-->优化-->为结果集准备-->绑定变量-->执行语句-->返回信息
    其中优化到绑定变量是潜在可选事件,而其余事件是强制性事件。


在每个阶段处理的事件,如下:
一、连接到数据库:在客户端应用程序和oracle数据库服务器之间建立通信。      oracle数据库的连接称为会话。是客户端通过网络协议TCP/IP连接到服务器的。
   连接请求实际是由oracle侦听器接收,连接一旦建立,侦听器会将请求传递到与连接想关的后台进程。
二、创建游标,为sql语句保存上下文。游标是对程序全局区域内特定的连接,是应用程序提交得SQL语句和ORACLE数据库对这些语句执行结果的动作之间的中介。游标保存着对SQL语句当前状态的信息,对返回多行数据的语句,游标跟踪结果集返回行的位置。三、提交sql语句到oracle数据库进行处理,包括检验语句的有效性和为语句创建优化的执行计划。在这一步都会执行下面过程
  1 检验语句的有效性
     校验sql语句语法是否合法,表名、列名是否引用了用户可以正确访问的有效实体或访问没有特权的数据库对象,oracle都会返回一个错误。
     DDL和写操作,语句载入到共享的SQL区域就可以执行,而对于查询而言,语句要经过额外的优化。
    sql语句检验完后,oracle数据库使用一个散列算法检查语句版本在共享SQL区域中是否存在,如不存在则继续进行下一步优化,这种分析称为硬解析。
    如果存在,则简单的为语句检索执行计划,这称为软解析。
  2 优化,oracle查询优化器分析各种路径,根据执行效率对它们进行评估。优化过程的最后结果是一个详细描述oracle实例如何通过已经提交的SQL语句对请求的数据进行检索的执行计划。
  3 准备结果 oracle数据库必须为准备结果集的返回做一些额外的准备条件
  4 绑定变量。绑定变量在运行前是未知的,为此带绑定变量的SQL语句编译是通过的,可是运行时会报错误。在SQL语句中绑定变量充当占位符。
    在SQL语法中通过冒号(:)后加变量名指出。好处可以增加共享SQL的使用,有效的提高性能
  5 执行。 到这步实例就可以使用准备好的执行计划执行SQL语句了。
  6 返回  oracle返回每个处理SQL语句的信息




分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏
回复

使用道具 举报

348

主题

3572

帖子

9250

积分

论坛元老

Rank: 8Rank: 8

积分
9250
沙发
发表于 2020-6-6 17:42:13 | 只看该作者
若現在就覺得失望無力,未來那麽遠妳該怎麽扛...
————————————————————————致自己
回复 支持 反对

使用道具 举报

348

主题

3572

帖子

9250

积分

论坛元老

Rank: 8Rank: 8

积分
9250
板凳
发表于 2020-6-6 17:42:54 | 只看该作者
逻辑思维还挺强

点评

还好!  详情 回复 发表于 2020-6-7 16:07
若現在就覺得失望無力,未來那麽遠妳該怎麽扛...
————————————————————————致自己
回复 支持 反对

使用道具 举报

348

主题

3572

帖子

9250

积分

论坛元老

Rank: 8Rank: 8

积分
9250
地板
发表于 2020-6-6 17:43:29 | 只看该作者
若現在就覺得失望無力,未來那麽遠妳該怎麽扛...
————————————————————————致自己
回复 支持 反对

使用道具 举报

328

主题

3738

帖子

8566

积分

作者

Rank: 7Rank: 7Rank: 7

积分
8566
QQ
5#
 楼主| 发表于 2020-6-7 16:06:47 | 只看该作者
回复 支持 反对

使用道具 举报

328

主题

3738

帖子

8566

积分

作者

Rank: 7Rank: 7Rank: 7

积分
8566
QQ
6#
 楼主| 发表于 2020-6-7 16:07:38 | 只看该作者
万望 发表于 2016-7-6 17:42
逻辑思维还挺强

还好!
回复 支持 反对

使用道具 举报

348

主题

3572

帖子

9250

积分

论坛元老

Rank: 8Rank: 8

积分
9250
7#
发表于 2020-6-7 17:58:17 | 只看该作者
(~ o ~)~zZ,学习,学习
若現在就覺得失望無力,未來那麽遠妳該怎麽扛...
————————————————————————致自己
回复 支持 反对

使用道具 举报

328

主题

3738

帖子

8566

积分

作者

Rank: 7Rank: 7Rank: 7

积分
8566
QQ
8#
 楼主| 发表于 2020-6-8 17:37:33 | 只看该作者
万望 发表于 2016-7-7 17:58
(~ o ~)~zZ,学习,学习

回复 支持 反对

使用道具 举报

328

主题

3738

帖子

8566

积分

作者

Rank: 7Rank: 7Rank: 7

积分
8566
QQ
9#
 楼主| 发表于 2020-6-8 17:37:38 | 只看该作者
万望 发表于 2016-7-7 17:58
(~ o ~)~zZ,学习,学习

回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

手机版|小黑屋|重庆度量科技  本站关键词:快速开发平台

GMT+8, 2024-9-28 03:27 , Processed in 0.177667 second(s), 26 queries .

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表