/ * csv * /在选择查询中

时间:2018-05-04 19:13:11

标签: oracle11g oracle-sqldeveloper

如果我在select语句中使用/*csv*/,它是否会使用服务器端的所有可用内核?还是只有1?

我打算做这样的事情:

spool "\path\to\spool1.txt"

select /*csv*/ * from employees;

我不能使用所有核心。我使用了/*+ parallel(auto) */并且受到了训斥。我不能使用超过1核心。

1 个答案:

答案 0 :(得分:3)

首先,CSV位是SQL Developer和SQLcl特定的输出格式化的东西,客户端我们接受输出并将其自动格式化为CSV。那个ZERO DB在那里进行处理。

数据库通常会根据需要自动并行查询。

  

当参数PARALLEL_DEGREE_POLICY设置为AUTO时,Oracle   数据库自动决定是否应该执行语句   是否平行以及它应该使用什么DOP

DOCS

您可以预先另外定义TABLE以设置并行度数查询。

CREATE TABLE PARALLEL_5
(
  COLUMN1 VARCHAR2(20) 
, COLUMN2 INT 
) 
PARALLEL 5;

所以不要使用Parallel提示与DBA保持联系。

但是,您的DBA也可以通过使用资源使用者组策略自动限制您来处理它。

  

并行度限制您可以限制最大程度   消费者群体中任何操作的并行性。的程度   parallelism是并行执行服务器的数量   与单个操作相关联。使用PARALLEL_DEGREE_LIMIT_P1   指令属性,用于指定a的并行度   消费者群体。

Docs