2017-12-01 6 views
3

와 업데이트 대 가입 할 수 있습니다. 업데이트 내가 2 개 테이블이 하위 쿼리

UPDATE A 
    SET A.NAME = B.NAME 
    FROM A JOIN (SELECT ID, Name from B) AS B ON A.ID = B.ID 

UPDATE A 
    SET A.NAME = B.NAME 
    FROM A JOIN B AS B ON A.ID = B.ID 

내가 실행 계획을보기위한 옵션을 설정할 수있는 권한이 없기 때문에

, 나는 여러 번 위의 두 쿼리를 실행하고 더 나은 성능을 가지고있는 하나의 추측 처리 시간을 참조하십시오.

약 700,000 개의 레코드로 두 쿼리의 결과가 약간 다릅니다.

제 질문은 실행되면 두 쿼리가 동일한 실행 계획을 갖게됩니까?

P/S (I 같은 방법으로 데이터베이스 엔진 프로세스 그 뜻은?) : 나는 SybaseIQ 16.0.0.429

업데이트를 사용하고 있습니다 : 나는 실행 계획을 볼 수있는 권한을 얻고있다. 두 계획이 모두 동일하다면 두 쿼리가 동일하게 처리된다는 것을 의미합니까 (100 % 확신)?

답변

4

실행 계획이 있습니다. 두 쿼리 모두 동일한 계획이 있습니다.

그리고베이스는 자동으로 "재 진술"첫 번째 쿼리는 실제 실행 쿼리는 정확히 두 번째 쿼리와 동일합니다

UPDATE A 
    SET A.NAME = B.NAME 
    FROM A,B WHERE A.ID = B.ID 

결론 : 두 쿼리가 동일합니다.