0

嗨,我想知道在左连接中添加附加条件是否会提高性能。示例代码如下。我只需要知道某些优惠的价格数据,但需要所有优惠数据。只是想知道是否值得增加额外的连接条件来提高性能?

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')
    )
4

1 回答 1

0

我建议为此更改上面的代码:

    SELECT 
    * 
FROM
    OFFERS 
LEFT JOIN PRICE ON
    PRICE.PH_SUBS_LINK_SK = ACTSUBS.PH_SUBS_LINK_SK 
WHERE 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')

为了提高性能,为 where 语句中使用的字段创建索引。

于 2014-09-11T15:21:39.857 回答