우리는 다른 데이터베이스를 처리하기 위해 최대 절전 모드를 사용합니다. 데이터 원본이 MS SQL 일 때 쌍 비교 SQL 사용에 문제가 있습니다. 이 문을 ms sql로 변환하는 방법을 알고 싶습니다.최대 절전 모드에서 MS SQL 용 쌍 비교 SQL을 변환
다음은 단순화 된 sql입니다.
주의 :
- 1 열 및 2 열 모두 UUID 및 숫자 유형입니다. (MS의 SQL에서 숫자가 될 것이다 (19,0)
- 변환 된 SQL 문을 양식에 따라해야한다 -. 하위 쿼리에 조건이
- 새로운 문이 고려 실행 성능을해야
코드 :.
select * from table1 t1
where (t1.column1, t1.column2) in
select (sub.column1, sub.column2) from table2 sub
where sub.column3 = $var
다음 내 재판 내가 문자열 비교 및 인덱스에게 영향을하지 않습니다에 낮은 성능을 두려워입니다
SELECT *
FROM TABLE_1 T1
WHERE CAST(COL1 AS VARCHAR(19))+CAST(COL2 AS VARCHAR(19))
IN (SELECT CAST(COL1 AS VARCHAR(19))+CAST(COL2 AS VARCHAR(19))
FROM TABLE_2 T2
WHERE T2.COL3 = 'A')
우리에게 어떤 제안이 있습니까? 감사합니다.