/ * csv * / в запросах выбора - PullRequest
0 голосов
/ 04 мая 2018

Если я использую /*csv*/ в своем операторе выбора, будут ли использоваться все доступные ядра на стороне сервера? Или только 1?

Я планирую сделать что-то вроде этого:

spool "\path\to\spool1.txt"

select /*csv*/ * from employees;

Я не могу использовать все ядра. Я использовал /*+ parallel(auto) */ и получил выговор. Я не могу использовать больше, чем 1 ядро.

1 Ответ

0 голосов
/ 04 мая 2018

Во-первых, бит CSV - это спецификация для SQL Developer и SQLcl для форматирования выходных данных, где на стороне клиента мы берем выходные данные и автоматически форматируем их в CSV. Это там ZERO DB.

База данных обычно автоматически распараллеливает ваши запросы по мере необходимости.

Когда для параметра PARALLEL_DEGREE_POLICY установлено значение AUTO, Oracle База данных автоматически решает, должен ли оператор выполняться в параллельно или нет, и какой DOP он должен использовать

DOCS

Вы можете дополнительно определить свои ТАБЛИЦЫ заранее, чтобы настроить их для параллельных запросов степени.

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

Так что не используйте подсказку Parallel, чтобы избежать проблем с вашим администратором баз данных.

Тем не менее, ваш администратор базы данных может просто позаботиться об этом, используя политику групп потребителей ресурсов для автоматического ограничения вас.

Предел параллелизма Вы можете ограничить максимальную степень параллелизм для любой операции внутри группы потребителей. Степень параллелизм - это количество серверов параллельного выполнения, которые связано с одной операцией. Используйте PARALLEL_DEGREE_LIMIT_P1 атрибут директивы, чтобы указать степень параллелизма для группа потребителей.

Docs

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...