1
절차 번호 A
계산 된 1000 번호를 가정하고 절차 번호 B
을이 번호와 절차 B
각각에 대해 실행하려면 몇 가지 작업을 수행하십시오.
해결 방법 1 : 숫자 절차 A
호출 절차 B
1000 배
솔루션 견인 : 절차는 다음 절차는 번호 하나 개 비용이 절차 B
1000 번 및 솔루션 견인 비용은 호출
솔루션을 읽을 B
중간 테이블에 번호를 저장 A
1000 개의 숫자 (한 줄에 각 숫자)를 삽입하고 1000 개의 숫자를 읽는 (선택). plsql을 사용하여 어떤 성능이 더 좋은지 알고 싶습니까?오라클의 어떤 솔루션이 더 나은 성능을 제공합니까?
기본적으로 직접 호출 대신 _queue_를 사용하는 것이 좋습니다. 분명히, 전자는 여분의 오버 헤드를 가지고있다. 그러나 귀하의 예는 구체적으로 설명되어 있지 않습니다 : A와 B (그리고 B의 여러 인스턴스)가 병행 할 수 있습니까? B와 비교하여 숫자를 생성하는 비용은 어떻게됩니까? A와 B는 병렬로 작동하여 어떻게 든 악용 될 수있는 "대기 상태"를 가지고 있습니까? "실패"의 경우 A와 B를 어떻게 행동해야합니까? –
B의 여러 인스턴스를 병렬로 실행할 수 없으며 질문의 두 번째 부분을 이해하지 못했습니다. –
'중간 테이블'에 대해 일반 테이블, 전역 임시 테이블 또는 PL/SQL 테이블 (컬렉션)을 사용 하시겠습니까? 오버 헤드는 각각 다를 수 있습니다. –