0

我正在做一些 SQL 优化,但我的 SQL fu 可以使用一些改进......

为什么要对子查询进行联接,这可能只是直接的内部联接,还是我遗漏了什么?

        -- Why do a join and a subquery?
        -- INNER JOIN  (
        --          SELECT client_id, session_id, id, customer_id, validity, machine_id, 
        --                  utc_date_completed, itemStatus, totalValue, utc_date_updated, 
        --                  itemValue, itemId, itemName, customField1, customField2, itemPage, itemCurrency
        --          FROM data.dashboard WITH(NOLOCK)
        --          WHERE client_id = @client_id
        --          ) d  ON cm.client_id = d.client_id

        INNER JOIN data.dashboard AS d ON cm.client_id = d.client_id AND d.client_id = @client_id 
4

1 回答 1

1

是的,在功能上它们是相同的,你应该有更好的性能来做一个INNER JOIN. 检查执行计划的性能。

而且它更具可读性和可维护性。

于 2013-01-23T10:58:47.577 回答