在我們的環境中進行Informatica Devloper映射的查找時,我經常在Lookup sql覆蓋中看到' - '。它在腳本的末尾。通常我會將' - '解釋爲sql的「註釋掉」。「 - 」在Informatica Developer映射中查找的含義是什麼?
雖然一位同事說它與某種排序將被應用的事實有關。但我無法在網上找到關於它的更多信息。
任何人都可以告訴我什麼' - '在查找SQL覆蓋意味着什麼或在查找嗎?或者在哪裏可以找到更多關於它的信息?
在我們的環境中進行Informatica Devloper映射的查找時,我經常在Lookup sql覆蓋中看到' - '。它在腳本的末尾。通常我會將' - '解釋爲sql的「註釋掉」。「 - 」在Informatica Developer映射中查找的含義是什麼?
雖然一位同事說它與某種排序將被應用的事實有關。但我無法在網上找到關於它的更多信息。
任何人都可以告訴我什麼' - '在查找SQL覆蓋意味着什麼或在查找嗎?或者在哪裏可以找到更多關於它的信息?
您的回答是正確的:Informatica默認將ORDER BY語句添加到SQL覆蓋。聲明結尾處的' - '將禁用它。但是:
Lookup Transformation
Condition
選項卡上提到如果ORDER BY被禁用,你可能會看到下面的消息在會話日誌表示可能性能下降的順序:
Message: Warning: Unsorted input found when building the cache for the Lookup transformation [lkp_name]. ...
一般應該避免這種情況。 (呃 - 應該避免SQL覆蓋,原因很多,但這是一個不同的故事)。但是在某些特殊情況下,這可能是需要的並且是完全合理的。
例子:
的Condition
定義上做端口匹配的A,B,C - 但行不是唯一的,我們需要得到使用updatedOn
最新一行。在這種情況下,我們可能會使用 Use First Value
作爲Lookup policy on multiple match
屬性。爲確保最近更新的行將首先包含我們自己的ORDER BY A, B, C, updatedOn desc --
條款。這將確保數據按照我們需要的條件列進行排序,最近的行將排在第一位。並且--
需要在那裏以防止Informatica將添加的第二條ORDER BY
條款。
我聽說並且可以確認查詢自動在工作流程運行時自動添加查找順序。
當添加' - '時,添加sql覆蓋的結尾,不添加任何addiditional命令。