[oracle] Oracle의 이중 테이블은 무엇입니까?

사람들이이 표를 언급하는 것을 들었고 그것이 무엇인지 확실하지 않았습니다.



답변

실제로 데이터에 관심이 없지만 select 문에서 일부 시스템 함수의 결과를 원할 때 선택하는 데 사용되는 단일 레코드가있는 일종의 더미 테이블입니다.

예 : select sysdate from dual;

http://www.adp-gmbh.ch/ora/misc/dual.html을 참조 하십시오


답변

요소가 하나 인 더미 테이블입니다. 오라클은 다음과 같은 문장을 허용하지 않기 때문에 유용합니다

 SELECT 3+4

다음과 같이 작성하여이 제한 사항을 해결할 수 있습니다.

 SELECT 3+4 FROM DUAL

대신에.


답변

에서 위키 백과

역사

DUAL 테이블은 Oracle Corporation의 Chuck Weiss가 내부보기에 참여하기위한 테이블을 제공하기 위해 작성되었습니다.

Oracle Data Dictionary에서 DUAL 테이블을 기본 개체로 만들었습니다. 그 자체로 볼 수는 없었지만 쿼리가 예상되는 뷰 내부에서 사용되었습니다. 아이디어는 DUAL 테이블에 조인을 수행하고 결과를 테이블의 각 행마다 두 개의 행을 작성할 수 있다는 것입니다. 그런 다음 GROUP BY를 사용하여 결과 조인을 요약하여 DATA 익스텐트 및 INDEX 익스텐트의 스토리지 양을 표시 할 수 있습니다. DUAL이라는 이름은 단 하나의 행에서 한 쌍의 행을 작성하는 프로세스에 적합 해 보였습니다. 1

위에서 명확하지 않을 수도 있지만 원래 DUAL 테이블에는 두 개의 행이 있으므로 이름이 있습니다. 요즘에는 단 하나의 행만 있습니다.

최적화

DUAL은 원래 테이블이었으며 데이터베이스 엔진은 DUAL에서 선택할 때 테이블에서 디스크 IO를 수행합니다. 디스크 블록은 일반적으로 메모리에 이미 캐시되어 있으므로이 디스크 IO는 일반적으로 논리적 IO (물리적 디스크 액세스를 포함하지 않음)였습니다. 이로 인해 DUAL 테이블에 대해 많은 논리 IO가 발생했습니다.

이후 버전의 Oracle 데이터베이스가 최적화되었으며 DUAL 테이블이 실제로 존재하더라도 데이터베이스는 더 이상 DUAL 테이블에서 물리적 또는 논리적 IO를 수행하지 않습니다.


답변

이 위키 백과 기사가 명확하게 도움이 될 것 같습니다.

http://en.wikipedia.org/wiki/DUAL_table

DUAL 테이블은 모든 Oracle 데이터베이스 설치에 기본적으로 존재하는 특수한 1 행 테이블입니다. SYSDATE 또는 USER와 같은 의사 열을 선택하는 데 적합합니다. 테이블에 값이 “X”인 DUMMY라는 단일 VARCHAR2 (1) 열이 있습니다.


답변

오라클의 특별한 테이블입니다. 시스템 변수를 계산하거나 확인하는 데 자주 사용합니다. 예를 들면 다음과 같습니다.

  • Select 2*4 from dual 계산 결과를 인쇄합니다
  • Select sysdate from dual 서버의 현재 날짜를 인쇄합니다.

답변

유사 테이블의 종류에 대해 명령을 실행하고 sysdate와 같은 결과를 얻을 수 있습니다. 또한 Oracle이 작동하는지 확인하고 SQL 구문을 확인하는 등의 작업을 수행합니다.


답변

1 행 1 열만있는 Oracle의 유틸리티 테이블. 많은 산술 연산을 수행하는 데 사용되며 일반적으로 알려진 출력을 생성해야하는 경우에 사용할 수 있습니다.

SELECT * FROM dual;

여기에 표시된대로 “DUMMY”라는 단일 열과 “X”값이있는 단일 행이 제공됩니다.

DUMMY
----- 
X