Chat now with support
Chat with Support

SQL Optimizer for Oracle 9.2.2 - User Guide (Korean)

SQL Optimizer 사용

자습서: Optimize SQL(SQL Rewrite)

Optimize SQL의 SQL Rewrite 모드는 두 단계를 통해 사용됩니다. 첫 번째 단계에서 SQL Optimizer는 원래 SQL 문에 대한 고유한 실행 계획과 의미론적으로 동일한 대체 실행 계획을 생성합니다. 생성된 각 대체 실행 계획에 대해 Oracle 비용 예상치가 표시됩니다. 두 번째 단계에서 SQL Optimizer는 대체 실행 계획을 실행하여 각 문장의 성능을 테스트합니다. 이를 통해 데이터베이스 환경에 가장 적합한 SQL 문을 찾을 수 있는 실행 시간 및 실행 시간 통계를 얻을 수 있습니다.

팁: Oracle 비용은 SQL 문 실행에 필요한 리소스의 예상 사용치를 제공할 뿐입니다. 비용이 높은 문장이 더 잘 수행될 수 있으므로 생성된 대체 Execution Plan을 테스트하여 데이터베이스 환경에 가장 적합한 문장을 결정해야 합니다.

1단계: SQL 문 최적화

  1. 주 창에서 Optimize SQL 탭을 선택합니다.

  2. Optimize SQL 시작 페이지에서 SQL Rewrite를 선택합니다.

    참고: 시작 페이지가 표시되지 않으면 옆의 화살표를 누르고 New SQL Rewrite Session을 선택합니다.

  3. Alternative Details 창에 SQL 문을 입력합니다.

  4. 을 클릭하여 SQL 문의 Execution Plan을 검색합니다.Select Connection and Schema 창이 표시됩니다.

  5. 사용할 연결 및 스키마를 선택합니다.
  6. 을 클릭하여 SQL 문을 최적화합니다.

  7. 원래 SQL 문과 생성된 대체 SQL 문을 비교하려면 SQL Optimizer가 SQL Rewrite 프로세스를 완료한 후 을 누릅니다.

2단계: 대체 SQL 문 테스트

SQL Optimizer가 생성하는 대체 문장을 테스트하려면 하나 이상의 선택된 대체 문장을 테스트하여 실제 실행 통계를 얻을 수 있습니다. SQL Optimizer는 데이터베이스 서버에서 결과 집합을 검색하지 않고도 이러한 통계를 제공할 수 있으므로 이 기능이 네트워크 트래픽에는 영향을 미치지 않습니다. 또한 SELECT, SELECT INTO, INSERT, DELETE 및 UPDATE 문은 실행 후에 롤백되는 트랜잭션에서 실행되므로 이러한 문을 사용할 경우 데이터 일관성이 유지됩니다.

대체 SQL 문을 테스트하려면

  1. 원본 SQL 문과 생성된 대체 SQL 문 간의 비교가 끝나면 를 클릭합니다.
  2. 옆의 드롭다운 화살표를 누르고 Test Run - All을 선택하여 모든 대체 SQL 문을 실행합니다.
  3. Test Run Settings 대화상자가 열립니다. 이 테스트 실행에 적용할 기준을 선택합니다. Usage 및 Symptom 페이지의 질문에 답변하여 SQL Optimizer이(가) 사용자에 대한 설정을 결정하도록 할 수 있습니다. 또는 페이지 하단의 Customize Test Run Settings 링크를 클릭하여 테스트 실행 설정을 수동으로 지정할 수 있습니다.

    팁: 을(를) 클릭하고 Optimize SQL | Test Run을 선택함으로써 일부 Test Run Settings 옵션에 대한 기본 값을 지정할 수 있습니다.

  4. Alternatives 창에서 실행 통계를 검토합니다.

 

자습서: Optimize SQL(Plan Control)

Optimize SQL에서 Plan Control 모드를 사용하는 것은 두 가지 단계로 구성됩니다. 첫 번째 단계에서 SQL Optimizer는 소스 코드를 변경하지 않고 SQL 문에 대한 대체 Execution Plan을 생성합니다. 이러한 대체 Execution Plan을 실행하여 실행 시간 통계를 검색하고 데이터베이스 환경에 가장 적합한 대체 Execution Plan을 식별할 수 있습니다. 두 번째 단계에서 Plan Control 모드를 사용하여 Execution Plan을 Oracle Plan Baseline으로 Manage Plans 모듈에 배포할 수 있습니다.

참고: 이 항목에서는 사용자에게 친숙하지 않을 수 있는 정보를 중점적으로 설명하며 단계 및 필드 설명이 모두 포함되어 있지는 않습니다.

1단계: 대체 Execution Plan 생성 및 실행

  1. 주 창에서 Optimize SQL 탭을 선택합니다.
  2. Optimize SQL 시작 페이지에서 Plan Control을 선택합니다.

    참고: 시작 페이지가 표시되지 않으면 옆의 화살표를 누르고 New Plan Control Session을 선택합니다.

  3. Original SQL 창에 SQL 문을 입력합니다.

    팁: SQL 문이 PL/SQL 블록에서 시작된 경우 This SQL is contained inside a PL/SQL block 확인란을 선택합니다. 이 확인란을 선택하면 사용자가 만든 Baseline에 대한 SQL 텍스트가 데이터베이스의 SQL 텍스트와 일치하게 됩니다.

  4. SQL 문에 대한 대체 Execution Plan을 생성하려면 을 누릅니다.Select Connection and Schema 창이 표시됩니다.

  5. 사용할 연결 및 스키마를 선택합니다.
  6. 모든 대체 Execution Plan을 실행하여 실행 시간 통계를 검색하려면 을 누릅니다.

  7. Plans 창에서 실행 시간 통계를 검토하여 최상의 대체 항목을 식별합니다.

2단계: Execution Plan을 Baseline으로 배포

  1. 를 누릅니다 .

  2. 자세한 내용은 다음을 검토하십시오.

    배포 설명

    Select a plan to deploy

    을 누르고 Baseline Plan으로 배포할 대체 실행 계획을 선택합니다.

    성능 비교

    선택한 계획의 성능을 원본과 비교하여 검토하려면 이 항목을 사용합니다.

    Mark the plan as

    자세한 내용은 다음을 검토하십시오.

    • Enabled - 이 계획을 활성화할지 또는 비활성화할지를 선택합니다.
    • Fixed - 이 계획을 고정된 상태로 배포할지 또는 비고정 상태로 배포할지를 선택합니다.
    • Not Auto-Purged - 사용하지 않을 때 자동으로 제거할지를 선택합니다.

    Plan name

    Plan의 이름을 입력합니다.

    설명

    이 Plan에 대한 설명을 입력합니다.
  3. Manage Plans로 Plan을 배포하려면 을 누릅니다.

 

 

자습서: Generate Indexes

SQL Optimizer는 SQL 구문, 테이블 간 관계 및 데이터 선택을 분석한 후에 SQL 문의 대체 인덱스로 사용할 열을 식별합니다. SQL Optimizer는 그런 다음 식별한 대체 인덱스를 인덱스 세트에 결합합니다.

대체 인덱스를 생성하려면

  1. 주 메뉴에서 Optimize SQL 탭을 선택합니다.

  2. Alternative Details 창에 SQL 문을 입력합니다.

  3. 을 누릅니다.Select Connection and Schema 창이 표시됩니다.

  4. 사용할 연결 및 스키마를 선택합니다.

  5. SQL Information 창에서 Index Details를 선택하여 인덱스 생성 정보를 확인합니다.

  6. Alternative Details 창에서 인덱스 이름, 세부 정보 및 생성 스크립트를 보려면 인덱스 집합을 선택합니다.
  7. 인덱스를 테스트하려면 Alternatives 창에서 인덱스를 선택한 다음 을 클릭합니다.

    참고: Test Run 기능을 사용하여 SQL Optimizer가 생성한 인덱스 세트를 테스트할 수 있습니다. 이 기능은 데이터베이스에 실제로 인덱스를 작성하고 SQL 문을 실행하고 실헹 통계를 검색한 다음, 인덱스를 삭제합니다. 이 프로세스는 데이터베이스에서 실제로 인덱스를 작성하므로 다른 SQL 문의 성능에 영향을 미칠 수 있습니다.

 

Related Documents

The document was helpful.

Select Rating

I easily found the information I needed.

Select Rating