Степень параллелизма

Оценить
(0 голоса)

Если параллелизм не был определен ни на уровне таблицы, ни через подсказку, то Oracle выбирает степень параллелизма, основываясь на таких показателях, как количество центральных процессоров сервера, размер таблицы, а также количество файлов базы данных, используемых табличной областью, в которой активизируется таблица. В тех случаях, когда при запросе происходит обращение к нескольким таблицам, степень параллелизма определяется для каждой из них, а самое высокое значение впоследствии используется для запроса.

Обратите внимание, что внутри разделов (описываются ранее в этой главе в разделе под названием "Разделы") Огас1е8 поддерживает ограниченный параллелизм запросов. Для вставок, обновлений и удалений, если запрос обращается к единственному разделу данных, будет использован только один подчиненный запрос; если обращение происходит к четырем разделам, то максимум четыре подчиненных запроса будут использованы в этом случае. Внутри раздела для операций выборки поддерживается параллелизм запросов.

Запуск новых процессов подчиненных запросов очень затратный. На старте и при завершении процесса каждого запроса Oracle стремится избежать затрат путем поддержки пула процессов при использовании процессов подчиненных запросов. В начале выполнения экземпляра исходный размер пула запросов определяется параметром parallel_min_servers в файле init.ora. По мере того, как будет затребовано дополнительное количество подчиненных запросов, число процессов в пуле запроса начнет возрастать до предела, установленного параметром parallel_max_servers в файле init.ora. Если процессы в пуле запросов остаются бездействующими на протяжении parallel server_idle_time минут, то некоторые из них не будут завершены до того, пока в пуле не останется часть процессов, указанных параметром parallel_min_servers.

Параметр parallel max_servers также определяет максимально допустимую степень параллелизма для одиночного запроса.

При помощи необязательного параметра parallel_min_percent из init.ora вы можете указать минимальное количество подчиненных запросов, которые должны быть доступны прежде, чем запросу будет разрешено выполняться. Предположим, что степень параллелизма запроса установлена с помощью контекстной подскази запроса PARALLEL в значение 12, а параметр parallel_min_percent установлен в значение 25; запрос будет выполняться, если доступны четыре или более подчиненных запроса, в противном случае произойдет аварийное завершение с сообщением об ошибке.

Сканирование таблиц с сортировкой
Другие возможности параллелизма
Создание индекса
Восстановление БД
Oracle продолжает оставаться ключевым продуктом на платформе Sun

Добавить комментарий


Защитный код
Обновить