Степень параллелизма по умолчанию в оракулах

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

Пример кода ниже.

select /*+ FULL(customer) PARALLEL(customer, default) */ customer_name  from customer;

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

1 ответ

Решение

Из документации:

ПАРАЛЛЕЛЬНЫЙ (ПО УМОЛЧАНИЮ):

Оптимизатор вычисляет степень параллелизма, равную количеству процессоров, доступных во всех участвующих экземплярах, умноженному на значение параметра инициализации PARALLEL_THREADS_PER_CPU.

Максимальная степень параллелизма ограничена количеством процессоров в системе. Формула, используемая для расчета лимита:

PARALLEL_THREADS_PER_CPU * CPU_COUNT * the number of instances available

по умолчанию все открытые экземпляры в кластере, но могут быть ограничены с помощью PARALLEL_INSTANCE_GROUP или спецификация услуги. Это по умолчанию.

Другие вопросы по тегам