2012-06-03 4 views
2

오라클 경기 수에 참여 다음/SQL을 감안할 때 :는 MySQL의 쿼리로 쿼리를 결합

MySQL의에서이 코드를 실행
select a.field1, b.field1, b.field2 
from table_a a, table_b b 
where a.field2 = b.field3; 

, 그것은 작업을 할 수있는 정말 시간이 오래 걸립니다 PL/SQL에있는 동안 시간이 없다. 테이블은 두 환경에서 동일합니다. 필드가 인덱싱되지 않습니다.

두 방언의 조인간에 차이점이 있습니까? 이 표준 SQL에서 올바른 번역은 무엇입니까?

+0

이 방법은'JOIN'이 아니기 때문에'JOIN'처럼 table.a에서 내부 조인 table_b b에서 a.field1, b.field1, b.field2를 사용할 수 있습니다. 여기서 a.field2 = b.field3 ' – Sajmon

+0

'join ... on '명령으로 동일한 결과를 얻을 수 있습니다. – user1433877

답변

1

MySQL은 인덱스가없는 것에 대처하지 않습니다. 오라클은 해시 조인을 할 수 있으며 여전히 빠릅니다. 조인 C 럼에 인덱스를 추가하십시오.

+1

이것은 효과가 있습니다! 좋은 대답! – user1433877

0

직면 한 문제를 피하려면 MySql에서 색인이 필요합니다.