오라클 - IN 파라미터 최대 개수 및 해결 방법

백마금편·2022년 4월 13일
0

DataBase

목록 보기
3/7
post-thumbnail

WHERE IN 최대 개수

ORA-01795 오류

  • WHERE 조건절에 IN 파라미터를 넘겨 조회하는 로직 구현 중 최대 IN 파라미터의 개수 제한은 없을까? 몇 개까지 들어갈까? 라는 생각으로 찾아보았다.
  • 반복문 돌려서 확인 결과 1000개 까지 가능한걸로 확인하였다.

해결 방법

OR 사용

SELECT *
  FROM Table_Name
 WHERE Column_Value IN ('value1', 'value2', 'value3', ..., 'value1000')
    ON Column_Value IN ('value1001', ..., 'value2000')
    ON Column_Value IN ('value2001', ..., 'value3000')

SubQuery 사용

SELECT *
  FROM Table_Name
 WHERE Column_Value IN (SELECT Column_Value
 						  FROM Table_Name
                         WHERE Column_Value = 'Condition')

IN절 안에 SubQuery 사용 시 속도가 느려 질 수 있다.(index 활용하면 해결 가능)

profile
뭐 어떻게 잘 되겠지

0개의 댓글