首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >是否在Oracle中为每个SQL语句创建了一个进程?

问是否在Oracle中为每个SQL语句创建了一个进程?
EN

Database Administration用户
提问于 2012-03-08 07:14:23
回答 3查看 173关注 0票数 4

在阅读了Oracle文档之后,S仍然不清楚是否为每个SQL语句创建了一个Oracle进程,或者仅仅为每个连接创建了一个Oracle进程(或者与两者都没有真正的关联)。

这里的任何评论都是很棒的。

谢谢。

EN

回答 3

Database Administration用户

发布于 2012-03-08 09:16:11

每个连接都会创建一个进程,然后该进程可以在连接期间执行SQL语句。

SQL语句在执行过程中可能会使用多个Oracle后台进程(比如并行查询),但这些进程并不是专门针对SQL语句的。

请注意,我忽略了诸如连接池(DRCP)和共享服务器(MTS)之类的东西来保持简单的答案。

票数 9
EN

Database Administration用户

发布于 2012-03-08 14:46:17

来自11.2Oracle概念指南的服务器进程概述包含以下信息:

在专用服务器连接中,客户端连接只与一个服务器进程相关联。在Linux上,连接到数据库实例的20个客户端进程由20个服务器进程提供服务。每个客户端进程直接与其服务器进程通信。此服务器进程在会话期间专用于其客户端进程。

票数 2
EN

Database Administration用户

发布于 2012-03-09 13:09:12

每当从oracle激发SQL语句时,它只会创建该SQL语句的psedocode,并将其存储在Library缓存(共享SQL区域)中。

这基本上是为了快速检索和重用缓存中的SQL语句而存储的。因此,在触发SQL语句时不会创建任何进程。但就像菲尔说的

SQL语句可以使用多个Oracle后台进程(用于并行查询)。

SQL语句使用后台进程,但不创建它。

此链接可能对您有用。请检查这。

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

https://dba.stackexchange.com/questions/14625

复制
相关文章

相似问题

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