Oracle Responsys에서 효율적인 SQL 문 작성

  • 쿼리에서 AND를 사용하는 경우(: select * from tableName where a=1 AND b=2 AND c=3), 가장 효율적인 조건(가장 적은 행을 반환하는 조건)을 마지막에 넣고, 두번째로 가장 효율적인 조건을 마지막에서 두번째에 넣는 식으로 배치합니다.
  • 쿼리에서 OR을 사용하는 경우(: select * from tableName where a=1 OR b=2 OR c=3), 가장 효율적인 조건을 처음에 넣고, 두번째로 가장 효율적인 조건을 두번째에 넣는 식으로 배치합니다.
  • 필드에서 NULL 이외의 값을 검색할 때 필드에 Oracle Responsys에서 생성한 인덱스가 있는 경우 쿼리에 upper() 함수를 포함하여 인덱스를 활용합니다. Oracle Responsys에서는 함수 기반 인덱스를 사용하므로, 검색 키는 upper() 함수를 사용하여 모두 대문자로 변환됩니다.

    : 전자메일 필드는 테이블의 데이터 추출 키이므로 자동으로 인덱스화됩니다.

    select * from table where upper(Email)='JOHN.SMITH@XYZ.COM'
    

관련 항목