2011-11-23 6 views
-1

여러 테이블 (10 - 15 개 테이블)에 ID가 있는지 확인하려면 가장 좋은 옵션이 무엇입니까? 성능면에서. 사용여러 테이블에 데이터가 존재하는지 확인

  1. (DAO에서 봄 부름) 각 테이블에 대한 개별 쿼리를 사용
  2. 결합합니다.
  3. 사용하고 있습니다.

여러 테이블에서 ID의 존재 여부에 따라 결정해야합니다.

+0

원하는 결과는 무엇입니까? 그것이 속한 테이블을 알고 싶습니까? 아니면 테이블 중 하나에 있거나 아니면 모든 테이블에있는 테이블을 알고 싶습니까? – Maess

+0

스키마의 더 많은 데이터 pls : S – osdamv

+0

많은 테이블에 값이 있는지 확인하고 싶습니다. java에서 매개 변수로 전달 된 값이 테이블에 있어야합니다. – minil

답변

0

Explain 계획 (예 : Oracle SQL 개발자)을 사용하여 Oracle의 쿼리 사이의 성능을 측정하고 간단한 Java 클래스를 작성하여 DAO와 비교하는 데 걸리는 시간을 확인할 수 있습니다.

존재를 사용하면 Oracle은 pk 및 fk 색인을 사용하므로 데이터베이스 내의 모든 조회가 수행됩니다. 나는 이것이 최선의 선택이라고 생각하지만 당신이 그들 모두를 비교한다면 당신은 정확한 선택권을 가질 것이다. UNION ALL을 사용하여

0

:

SELECT 'table1' FROM table1 WHERE id = ? 
UNION ALL 
SELECT 'table2' FROM table2 WHERE id = ? 
UNION ALL 
SELECT 'table3' FROM table3 WHERE id = ? 

또 다른 솔루션은 기능을 사용하고 있습니다 :

select function(id) 

이 솔루션은 데이터베이스 서버에 여행을.

관련 문제