안녕하세요 왼쪽 joing에 추가 조건을 추가하면 성능이 향상 될지 궁금합니다. 예제 코드는 다음과 같습니다. 특정 쿠폰에 대한 가격 데이터 만 알고 있어야하지만 모든 쿠폰 데이터가 필요합니다. 성능을 높이기 위해 추가 조인 조건을 적용 할 가치가 있는지 궁금하십니까?addtional Left Table Filter로 왼쪽 결합 성능
SELECT
*
FROM
OFFERS
LEFT JOIN PRICE ON (
PRICE.PH_SUBS_LINK_SK = ACTSUBS.PH_SUBS_LINK_SK and
PRICE.PRICE_END_DT= '09-09-9999' and
OFFERS.PERCENT_VALUE >0 and
OFFERS.VALUE_OR_PERCENT = 'PERCENT' and
OFFERS.PRODUCT_OFFER_TYPE = 'RC' and
OFFERS.OFFER_STATUS_CODE in ('ACT','PTM')
)
이들은 조인 조건이 아니지만 필터 ... 데이터 필터링은 일반적으로 더 나은 성능을 제공하지만 인덱스, 파티션 등에 따라 달라집니다. –
데이터 세트 크기 인덱스 및 다양한 다른 요인에 따라 달라질 수 있습니다. 성능에 영향을주는 것은'JOIN'과'WHO'의 사용 뿐만이 아닙니다. 첫째,'IN ('ACT', 'PTM')'은 종종 비효율적 일 수 있으며 종종'(columnName = ''OR columnName = '')처럼 빠릅니다. 또한 http://dba.stackexchange.com/에서 도움을 얻을 수도 있습니다. 물론 질문이 여기에 적용 가능하다고 생각 하긴하지만, 최적화에 대한 심도 깊은 지식을 가지고있을 수도 있습니다. – talegna
또한 어떤 RDBMS를 사용하고 있는지에 따라 다릅니다. 실행 계획을 비교 했습니까? –