Что означает «--» при поиске в отображении Informatica Developer?

При поиске в сопоставлениях Informatica Devloper в нашей среде я регулярно вижу «--» в переопределениях Lookup sql. Он находится в конце сценария. Обычно я бы интерпретировал «--» как «комментарий из» sql.

Хотя коллега говорит, что это связано с тем, что будет применяться какой-то порядок. Но я не могу найти больше информации об этом в сети.

Может ли кто-нибудь сказать мне, что '--' в конце переопределения Lookup sql означает или делает при поиске? Или где найти больше информации об этом?


person cybork    schedule 01.09.2016    source источник


Ответы (2)


Ваш ответ правильный: Informatica по умолчанию добавляет оператор ORDER BY в переопределение SQL. '--' в конце оператора отключает его. НО:

  • Informatica делает это намеренно. Это делается для того, чтобы ускорить создание кеша — кеш сортируется для улучшения чтения кеша. Он должен отражать порядок портов, упомянутых на вкладке Condition в Lookup Transformation.

  • Если 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 --. Это обеспечит сортировку данных по столбцам условий, как нам нужно, и самая последняя строка будет первой. И -- должен быть там, чтобы предотвратить второе предложение ORDER BY, которое Informatica все равно добавит.

person Maciejg    schedule 01.09.2016

Я слышал и могу подтвердить, что поиск автоматически добавляет порядок к поиску при запуске рабочего процесса.

При добавлении '--' добавьте конец переопределения sql, НИКАКОЙ дополнительный порядок не добавляется.

person cybork    schedule 01.09.2016