#oracle #performance #parallel-processing
#Oracle #Производительность #параллельная обработка
Вопрос:
я хотел бы знать, существует ли параметр connect, который я могу использовать в URL-адресе JDBC Thin Oracle Connection, чтобы сообщить Oracle DB, что я хочу использовать параллелизм при обработке запросов.
Приложение, которое должно использовать этот параметр, генерирует инструкции во время выполнения и отправляет их в базу данных, поэтому я не могу их обновлять или оптимизировать. Почти в каждом запросе я запускаю тайм-ауты, и пользователь на другой стороне получает сообщение об ошибке.
Если я запускаю сгенерированные операторы и отправляю их с помощью /* parallel */ Hint разработчику SQL, у меня гораздо лучшая производительность.
Может быть, у кого-то есть подсказка, что я могу добиться лучшей производительности.
Комментарии:
1. Я серьезно сомневаюсь, что такой параметр существует.
Ответ №1:
Вы могли бы использовать триггер входа в систему для принудительного параллельного выполнения всех операторов запроса в сеансе, для которого возможно распараллеливание. Это переопределит любое свойство параллелизма по умолчанию для отдельных объектов.
CREATE OR REPLACE TRIGGER USER1.LOGON_TRG
AFTER LOGON ON SCHEMA
BEGIN
EXECUTE IMMEDIATE 'ALTER SESSION FORCE PARALLEL QUERY 4';
END;
/
Комментарии:
1.
ENABLE PARALLEL QUERY
откроется ли параллелизм только в том случае, если установлен базовый объектDOP
, лучше для этой цели использоватьFORCE PARALLEL QUERY
— пожалуйста, обновите