쿼리 빌더에서 SQL 개발자 성능 향상


5

필자는 Windows 10 64 비트에서 Oracle SQL Developer (버전 17.3.1.279)를 사용합니다.
TNS를 통해 네트워크의 Oracle 데이터베이스에 연결됩니다.

"쿼리 빌더"를 처음으로 열 때마다 또는 SQL 코드의 일부 변경 사항을로드하는 데 많은 시간 (30-60 초)이 걸립니다.

또한 "완료 통찰력"은 매우 느리게 나타납니다 (3-4 초). 그래서 일반적으로 테이블과 열 이름을 입력하기 전에 입력을 마칩니다 (설정은 0.6 초입니다).

위의 문제를 바탕으로 SQL 개발자가 매번 데이터베이스에서 정보를 읽는 것으로 의심합니다. 정보를 대신 로컬에 저장하는 방법이 있습니까? (데이터베이스의 구조는 상당히 영구적이며 일년에 한 번씩 변경됩니다)


나는 작업 관리자를 살펴 봤는데 이상한 점은 SQL 개발자가 "쿼리 작성기"를 준비 할 때 응답하지 않는 경우에도 많은 리소스를 사용하지 않는다는 것입니다

뷰를 준비하는 동안 SQL 개발자가 사용하는 리소스 :

  • 내 CPU의 0-1.5 % (몇 초 동안 최대 7 %까지 점프)
  • 600 - 650MB RAM (총 16GB가 있으며 9GB는 무료이므로 병목 현상이 발생할 것으로 생각하지 않습니다).
  • 0 MB / s 디스크 및 0 % 네트워크

일반적으로 성능에는 영향을 미치지 않습니다.

  • CPU 사용률 10-30 %
  • 메모리 : 7-8GB 사용, 8-10GB 커밋, 8-9GB 사용 가능
  • 디스크 사용량 : 0-5 %

모든 쿼리가이 작업을 수행합니까?
Ramhound

이 문제는 제가 실행 한 모든 쿼리와 동일합니다. select * from MyTable )는 동일하게 동작합니다.
Máté Juhász

문제를 설명 할 수있는 확실한 기능에 대한 옵션 메뉴를 확인 했습니까?
Ramhound

예, 확인했지만 아무것도 찾을 수 없습니다.
Máté Juhász

답변:


2

가능한 설명은 쿼리 작성 도구가 데이터베이스 테이블과 모든 열 정보를 허용하기 전에 쿼리 빌더 자체에 대한 액세스 및이 모든 데이터로드 시간이 걸리는 것입니다. 이 문제를 해결하기 위해 나는 필요한 테이블 정보 만있는 사용자 지정 데이터 원본 스키마 이 경우 가능하면 포함됩니다.

로컬 캐시에 대한 질문은 다음과 같습니다. 쿼리 및 쿼리에 영향을주는 것처럼 보이지만 테이블 메타 데이터를로드하는 중일 수 있습니다.

표 변경 명령을 사용하여 표의 거주지를 변경할 수도 있습니다. 캐시 할 때 사용하는 테이블 RAM이 충분한 경우에만 적합합니다. 테이블을 메모리에 보관하며 비트 단위로 읽습니다. 액세스 할 때 보관하십시오. 하지만 메타 데이터가 또한 시스템 + 탈 로그의 테이블을 읽고 메모리에 보존합니다.

다음은 도움이 될 수있는 다른 일반적인 팁 목록입니다.

  • 도구 / 기능에서 사용하지 않는 기능 사용 중지

  • 확장 기능 사용 중지
    환경 설정에서 SearchBar를 제외한 모든 불필요한 확장을 비활성화하십시오 (SQL Developer를 다시 시작해야 함). 이렇게하면 사용하지 않은 항목에서 기본 메뉴가 지워집니다.

  • OS를 호스트하기위한 Look and Feel 환경 설정
    이렇게하면 그림을 그려주는 것이 아니라 GUI를 호스트로 배포하는 데 도움이됩니다. Java를 통한 모든 것. 다른 Java 매개 변수는 조정할 수 있습니다. 그러나 이것은 모험을 위해서입니다.

  • 완료되면 격자 및 파일 닫기

  • SQL History Limit를 낮은 값으로 설정하십시오.

  • 원격 데스크톱을 통해 실행중인 경우 그래픽 설정을 조정하십시오.

  • 바이러스 스캐너 최적화
    SQL-Developer는 Java 프로그램으로 대규모 .jar 아카이브 만 있으면됩니다. .zip 보관소이므로 전체 보관소를 스캔 할 필요가 없습니다. 일부 파일에만 적용됩니다. SQL-Developer 폴더를 바이러스 검사에서 제외 할 수 있습니다.

  • SQL-Developer를 관리자로 실행

  • 다른 모든 방법이 실패하면 Oracle SQL Developer 무료 대안 .


메이트는 DB에서 정보를 캐싱하려고합니다. 이것은 프로그램 속도를 높이는 비 관련 팁의 세탁 목록처럼 보입니다. 그것이 질문의 의도 또는 현상금을 그대로두기를 바라는 것이 무엇인지를 확신하지 못합니다.
Journeyman Geek

@ JourneymanGeek 나는 여전히 제안을 시도하고있다. 둘 다 빠른 솔루션을 제공하지는 않지만 유망한 것으로 보입니다. 그리고 그것은 합법적 인 대답입니다. 확실히 하향 투표 할 가치가 없습니다.
Máté Juhász

@ MátéJuhász : 이것이 성능을 충분히 향상시키지 못한다면, 문제 영역을 더 정확하게 지적하기 위해 성능 측정치를 수집하는 것이 유용 할 것입니다. 30-60 초의 속도 저하가 발생하면 작업 관리자 또는 리소스 모니터에서 CPU, 디스크 또는 네트워크와 관련하여 관찰 할 충분한 시간입니다.
harrymc

@harrymc : 나는 똑같은 생각을 했어. 내 업데이트를 한번 보아라.
Máté Juhász

일반 컴퓨터 통계 또는 SQL-Developer 만 보았습니까? 이러한 대형 제품 중 일부는 여러 프로세스로 구성됩니다. 네트워크 대기는 또한 측정 할 수 없습니다.
harrymc
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.